Also, ich hab ein bissl gegoogelt, ein bissl Forumsuche gemacht, aber nix gefunden.
Alles dreht sich immer darum, einen string zu einem pchar zu machen. Die verschiedenen Methoden kenne ich jetzt.
Aber wie geht es anders herum ?
Hier ein paar verzweifelte Versuche:
Delphi-Quellcode:
var pstr: pchar;
sstr: shortstring;
delphi_helper: Integer;
str:string;
Delphi-Quellcode:
// str:=pstr; -> Absturz
// strcopy(str,pstr); -> incompatible types
for delphi_helper:=1 to ord(pstr[0]) do //füllt meist nur das erste Element ?!
sstr[delphi_helper]:=pstr[delphi_helper];
no:=;
delete(sstr,pos('#',sstr),10000); //ab und an sieht mein string so aus: '123'#A#...#...#...
str:=String(sstr); //währe ja sowieso zu einfach
PS: str:=(string)pstr; bringt auch einen Absturz.
Der pchar kommt aus einer
dll, zu der ich maximal die "Zugriffs"-Pascal-Datei ändern kann - habe dort aus pchar shortstring gemacht, kommt aber auch nur ein Absturz.