Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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]

Или хотя-бы подскажите, - в каких ОСях данный код (с такими предупреждениями будет работать)?


Наверх

Титульная страница Поиск, карта сайта Написать письмо