Вверх ↑
Разработчик
Ответов: 26067
Рейтинг: 2121
#1: 2011-11-17 13:55:29 ЛС | профиль | цитата
Вот это уже херня какая-то, чтобы булевская переменная VolReal вызывала ошибку...
Ну а тупо убрать ее отслеживание


begin
Result := '';
WinVer := LOBYTE(LOWORD(GetVersion));
DriveType := GetDriveType(PChar(Drv + ':\'));
(*
if {(DriveType <> DRIVE_REMOVABLE) or} VolReal then
begin
SetLength(Buf, MAX_PATH - 1);
GetVolumeInformation(PChar(Drv + ':\'), @Buf[1], MAX_PATH - 1, nil, NotUsed, NotUsed, nil, 0);
Result := Buf;
L := Length(Result);
while (L > 0) and (Result[L] < ' ') do Dec(L);
SetLength(Result, L);

if (Result <> '') and (DriveType <> DRIVE_REMOVABLE) then
Result := DisplayName(Drv)
else
Result := '<none>';
end
else
*)
Result := DisplayName(Drv);
end;

но тогда мы потеряем отслеживание изменения меток в реальном времени
карма: 22

0