Du fügst einen Pointer auf einen Integer ein? Dann pass mal auf, dass dir der nicht wild wird...
ich würds so machen:
Delphi-Quellcode:
procedure PushInt(Val: Integer);
begin
Stack.Push(Pointer(Val));
end;
function PopInt: Integer;
begin
Result := Integer(Stack.Pop);
end;
(nur in Funktionen gekapselt, damit mans besser sieht)
Damit sagst du Delphi, es soll den Integer behandeln, als wärs ein Pointer. Du speicherst dann den Integer selber in die Liste und nicht nur die Adresse darauf.
EDIT: Vorausgesetzt, du alloziierst den Integer zuvor explizit, damit er beim Prozedurende nicht ungültig wird, kannst du ihn so dereferenzieren:
SomeInt := Integer(IntPtr^);
Wobei IntPtr (für "Pointer auf Integer") äquivalent zu Stack.Pop ist.
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