-
Cobalt © (11.01.13 19:48) [0]Delphi7:
function GetLongPathName(lpszShortName: LPCTSTR; lpszLongName: LPTSTR;
cchBuffer: DWORD): DWORD; stdcall; external kernel32 name 'GetLongPathNameA';
procedure TForm1.FormCreate(Sender: TObject);
var
str1, str2: string;
Len : Integer;
begin
// str1 := 'C:\Users\v.srednikh\Application Data\test\FprnM1C.dll'; // Файл реально существует
str1 := 'C:\Users\V8F7D~1.SRE\APPLIC~1\test\FprnM1C.dll';
// Use GetLongPathName where available (Win98 and later) to avoid
// Win98 SE problems accessing UNC paths on NT/2K/XP based systems
SetLength(str2, MAX_PATH + 1);
len := GetLongPathName(PChar(str1), @str2[1], MAX_PATH);
if Len = 0 then
ShowMessage(SysErrorMessage(GetLastError));
SetLength(str2, len);
Caption := str2;
end;
Устойчиво дает отлуп на Win7 x64
причем в Д7 получаю ErrorCode= 5 (Отказано в доступе)
А в XE3 - 2 (Не удается найти указанный файл) -
Cobalt © (11.01.13 19:49) [1]Да, вопрос - возможно ли побороть это?
-
брат Птибурдукова (11.01.13 19:59) [2]Может проблема в том, что Application Data — линк? (это, конечно, не ответ на [1]) С более простыми путями что получается?
-
Игорь Шевченко © (11.01.13 22:10) [3]I will always use google before asking dump questions
http://social.msdn.microsoft.com/Forums/zh/vcgeneral/thread/fb68a152-df79-43c4-82b6-ae63d5b5664b -
Игорь Шевченко © (11.01.13 22:43) [4]
> dump questions
dumb questions -
Dimka Maslov © (17.01.13 21:00) [5]Не стоит размещать код там, где по определению должны располагаться данные. И вообще системе по барабану, длинный путь или короткий.