Thema: Delphi pchar freigeben?

Einzelnen Beitrag anzeigen

tommie-lie
(Gast)

n/a Beiträge
 
#1

Re: pchar freigeben?

  Alt 16. Feb 2006, 16:48
Zitat von Muetze1:
Man sollte vllt. in dem Sinne noch darauf hinweisen, wenn ein lokaler AnsiString mit einem Typecast zu einem PChar gewandelt wird, weil dann wird der PChar mit verlassen der Procedure ungültig
Jupp, darauf wurde ja hingewiesen.

Zitat von Muetze1:
(PChar als Funktionsergebnis, etc)
Pointer auf lokale Variablen zurückgeben ist aus diesem Grund im Allgemeinen böhse[tm]. Das wird bei C++ dann lustig, wenn man sich auf dem Stack Objekte erzeugt und anschließend meint, mit Pointern darauf zu schießen

Zitat von Muetze1:
Da es aber viele Möglichkeiten gibt und es auch andere Speicherreservierungen als GetMem() gibt
In diesem Sinne noch ein Hinweis zu diesem Beitrag: Es finden sich Klammern im Text, in denen einige (nicht alle) Möglichkeiten aufgezählt werden, wie man Speicher reservieren und wieder freigeben kann. Die Listen in diesen Klammern entsprechen sich. Die richtige Methode zum Freigeben eines mit GetMem() allokierten Blocks ist also FreeMem(), zu New() gehört Dispose() und so weiter.
  Mit Zitat antworten Zitat