Wie wäre es mit *tada* Arithmetik?
Delphi-Quellcode:
var
a:array of byte;
pointer:^byte;
elem: integer;
begin
randomize;
setlength(a,random(100));
pointer:=@a[random(length(a))];
//wie krieg ich jetzt raus auf welche Element von a der pointer zeigt? Die Arrayelemente sind alle unterschiedlich groß.
// so sollts gehen:
elem := Integer(Pointer)-Integer(@a[0]);
end;