Wastie weer, ik word hier dan ook nogal gestoord van.
als ik een directory + filenaam in een edit veld gooi en dan deze functie aanroep met die long als de edit.text, dan krijg ik netjes mn 8.3 dosformaat gebeuren terug. Maar doe ik dit vanuit een memorytabel (van rxlib) dus k haal daar uit een char veld de longname en gooi die door deze procedure, dan krijg ik niente de pasta terug.
!!HELP!! [trekt haren uit hoofd]
Misschien dat het komt door dat GetShortPathName een null terminated string of whatever moet zijn, maarre hoe maak ik dat van dat recordveldje of wat doe ik anders verkeerd?
function Tform1.LongToShortPath(const Long: string): string;
var
ActualLength: Longint;
begin
SetLength(Result, Length(Long) + 1);
ActualLength := GetShortPathName(PChar(Long), PChar(Result), Length(Result));
SetLength(Result, ActualLength);
end;
als ik een directory + filenaam in een edit veld gooi en dan deze functie aanroep met die long als de edit.text, dan krijg ik netjes mn 8.3 dosformaat gebeuren terug. Maar doe ik dit vanuit een memorytabel (van rxlib) dus k haal daar uit een char veld de longname en gooi die door deze procedure, dan krijg ik niente de pasta terug.
!!HELP!! [trekt haren uit hoofd]
Misschien dat het komt door dat GetShortPathName een null terminated string of whatever moet zijn, maarre hoe maak ik dat van dat recordveldje of wat doe ik anders verkeerd?
function Tform1.LongToShortPath(const Long: string): string;
var
ActualLength: Longint;
begin
SetLength(Result, Length(Long) + 1);
ActualLength := GetShortPathName(PChar(Long), PChar(Result), Length(Result));
SetLength(Result, ActualLength);
end;
"Then there was the man who drowned crossing a stream with an average depth of six inches."