![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Symbol 'FindData' is specific to a platform! [D7]
Roman_S © (2007-03-04 15:01:00)Нашёл в Nete два способа вычисления размера каталога:
1. uses FileCtrl -> 'FileCtrl' is specific to a platform
2. Мне понравился больше:
procedure GetDirSize(const aPath: string; var SizeDir: Int64);
var
SR: TSearchRec;
tPath: string;
begin
tPath := IncludeTrailingBackSlash(aPath);
if FindFirst(tPath + '*.*', faAnyFile, SR) = 0 then
begin
try
repeat
if (SR.Name = '.') or (SR.Name = '..') then
Continue;
if (SR.Attr and faDirectory) <> 0 then
begin
GetDirSize(tPath + SR.Name, SizeDir);
Continue;
end;
SizeDir := SizeDir + (SR.FindData.nFileSizeHigh shl 32) +
SR.FindData.nFileSizeLow;
until FindNext(SR) <> 0;
finally
Sysutils.FindClose(SR);
end;
end;
end;
Можно заменить чем-нибудь 'FindData', чтобы не было:
Symbol 'FindData' is specific to a platform
в SizeDir := SizeDir + (SR.FindData.nFileSizeHigh shl 32) +
SR.FindData.nFileSizeLow; ???
RASkov (2007-03-06 02:16:00) [1]> [7] Roman_S © (05.03.07 20:28)
unit FileCtrl platform;
Убери из "своих" uses'ов - FileCtrl.... если ты из него ничего не используешь.
Roman_S (2007-03-05 20:28:00) [2]GrayFace © (04.03.07 17:34) [5]
SR.Size
В этом случае получаем:
uses FileCtrl -> 'FileCtrl' is specific to a platform
Roman_S (2007-03-04 17:37:00) [3]GrayFace © (04.03.07 17:34) [5]
Спасибо! - Попробую!
GrayFace (2007-03-04 17:34:00) [4]SR.Size
Roman_S (2007-03-04 17:29:00) [5]Понимаю, о чём Вы говорите, но я имел ввиду:
Вместо: IncludeTrailingBackslash -> IncludeTrailingPathDelimiter
Вместо: ExcludeTrailingBackslash -> ExcludeTrailingPathDelimiter
Вместо: RaiseLastWin32Error -> RaiseLastOSError
Вместо: FindData -> ... ???
Игорь Шевченко (2007-03-04 17:10:00) [6]
> Symbol 'FindData' is specific to a platform
{$WARN SYMBOL_PLATFORM OFF}
Palladin (2007-03-04 15:38:00) [7]во всех win
Warning messages + F1
Roman_S (2007-03-04 15:04:00) [8]Или хотя-бы подскажите, - в каких ОСях данный код (с такими предупреждениями будет работать)?