...das heißt: Du kannst auch mit lokalen Konstanten arbeiten.
Aber das ist nicht schön. Nicht machen!
Trotzdem ein Beispiel:
Delphi-Quellcode:
procedure DoSomething;
const
storage: Integer = 0;
var
bmp: TBitmap;
ptr: Pointer;
begin
bmp := TBitmap(TObject(storage));
if bmp = nil then bmp := TBitmap.Create;
//...
//...
ptr := @storage;
Integer(storage^) := Integer(Pointer(bmp));
end;
Die Adresse des alloziierten Bitmaps ist dann immer in "storage" gespeichert und läuft dir nie aus dem scope.
Aber machs nicht, wenn dus nicht unbedingt brauchst! Für deinen Zweck fallen mir mindestens 2 schönere Lösungen ein.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1