Deine Methode ist schon korrekt. Einfach den INT zu nem Pointer casten. Ein kleines Testprogramm bestätigt auch, daß es funktioniert:
Delphi-Quellcode:
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
p : pointer;
begin
p := nil;
p := pointer(strtoint('$12345678'));
writeln(format('%p', [p]));
readln;
end.
Oder hab ich irgendwas übersehen?