How Do I Properly Call GetLongPathName Using Delphi 2009 and Unicode Strings?

Sure. You do need not a separate unit and can declare GetLongPathName anywhere.

Sure. You do need not a separate unit and can declare GetLongPathName anywhere: function GetLongPathName(ShortPathName: PChar; LongPathName: PChar; cchBuffer: Integer): Integer; stdcall; external kernel32 name 'GetLongPathNameW'; function ExtractLongPathName(const ShortName: string): string; begin SetLength(Result, GetLongPathName(PChar(ShortName), nil, 0)); SetLength(Result, GetLongPathName(PChar(ShortName), PChar(Result), length(Result))); end; procedure Test; var ShortPath, LongPath: string; begin ShortPath:= ExtractShortPathName('C:\Program Files'); ShowMessage(ShortPath); LongPath:= ExtractLongPathName(ShortPath); ShowMessage(LongPath); end.

I believe the last function declaration gives: DCC Error Function needs result type – lkessler Aug 20 '10 at 0:39 2 @lkessler: No, you need not redeclare function arguments and result type in implementation section if they are already declared in interface section. – Serg Aug 20 '10 at 1:00 Thank you @Serg. It didn't quite work in all cases, but after a slight fix I got it working.

I've updated your answer to do it correctly. That really helped. – lkessler Aug 20 '10 at 3:58.

I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.

Related Questions