Einzelnen Beitrag anzeigen

Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#18

Re: lokale Variablen mit globaler Lebensdauer?

  Alt 13. Jul 2005, 16:14
Es gibt noch ne andere Variante, die ich z.B. beim CQParser verwende:
Delphi-Quellcode:
function foo: PInteger;
var
  i: PInteger;
begin
  GetMem(i, SizeOf(Integer));
  i^ := 12345;
  result := i;
end;
So in etwa. Klassen die man lokal erzeugt, aber nicht mehr frei gibt sind sozusagen dann auch weiter da, nur wird der Pointer darauf beim Verlassen des Blocks zerstört. Übergibt man den Pointer hingegen vorher an eine Variable die über den Block hinaus besteht, so ist darüber ganz normaler Zugriff möglich, und auch eine ordentliche Freigabe. Das wäre meiner Meinung nach noch die sauberste Variante dieser kleinen Schweinerei .
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat