MAX_PATH <> 1213
das konnte ja nicht gehn
FullPathAndNameOfLinkFile := '123123';
geht, da der Compiler die '123123' nicht als String-Konstante, sondern als Array ablegt und dieses dann direkt reinkopieren kann
FullPathAndNameOfLinkFile := S;
geht nicht
S := FullPathAndNameOfLinkFile;
das geht aber
, da hier Delphi es sozusagen als PChar ansieht (LStrFromArray)
S := PChar(@FullPathAndNameOfLinkFile)
also als PChar mit abschließender #0 und/oder einer Maximallänge von Length(FullPathAndNameOfLinkFile)
Zitat:
FullPathAndNameOfLinkFile: array[0..MAX_PATH] of Char;
kannst du an der Definition etwas ändern, oder ist sie vorgegeben?
sonst könnte man dieses Array in einem Record verpacken und einen Setter/Getter als StringTypen dafür definieren ... sieht zwar blöder aus, aber läßt sich dann leichter im restlichen Code verwenden
Von Delphi selber gibt es keine Default-Funktionen, welche zum Befüllen oder Vergleichen des Arrays genutzt werden, da es nicht weiß, wie du den Inhalt interpretierst.