Форум: "Основная";
Текущий архив: 2004.02.06;
Скачать: [xml.tar.bz2];
ВнизSelectDirectory () Найти похожие ветки
← →
Андрей Сенченко (2004-01-28 16:43) [0][Warning] : Unit "FileCtrl" is specific to a platform
Что имеется в виду :
Note:
SelectDirectory uses a slightly different syntax when compiled for Linux (first syntax) or Windows (second syntax).
Или что-то иное ?
← →
Sandman25 (2004-01-28 16:48) [1]Нажмите F1, когда фокус будет на этом warning.
← →
Андрей Сенченко (2004-01-28 16:54) [2]:)
warning безусловно показывает на
uses
FileCtrl;
в котором и содержится функция SelectDirectory ()
в объявлении FileCtrl находим
unit FileCtrl platform;
а вот в чем заключается тот самый specific to a platform - при беглом осмотре не нашел.
Решил спросить пока смотрю.
← →
Sandman25 (2004-01-28 16:57) [3]F1 не в редакторе, а на warning. Для этого нужно тыкнуть мышой в сам warning (в нижнем окошке).
Unit "<element>" is specific to a platform
List of compiler error messages
The whole unit is tagged (using the platform hint directive) as one that contains material that may not be available on all platforms. If you are writing cross-platform applications, it may cause a problem. For example, a unit that uses objects defined in OleAuto might be tagged using the PLATFORM directive
The $WARN UNIT_PLATFORM ON/OFF compiler directive turns on or off all warnings about the platform directive in units where the platform directive is specified.
← →
Андрей Сенченко (2004-01-28 17:01) [4]Sandman25 © (28.01.04 16:48) [1]
Не понял сначала о чем речь. Мои извинения.
Читать вот это
The whole unit is tagged (using the platform hint directive) as one that contains material that may not be available on all platforms. If you are writing cross-platform applications, it may cause a problem. For example, a unit that uses objects defined in OleAuto might be tagged using the PLATFORM directive
The $WARN UNIT_PLATFORM ON/OFF compiler directive turns on or off all warnings about the platform directive in units where the platform directive is specified.
было в принципе не обязательно - по контексту warning-а это вполне понятно.
Вопрос был в другом - в чем специфичность конкретно функции SelectDirectory (), не поведет ли она себя по-разному хотя-бы в разных версиях Windows
← →
YuRock (2004-01-28 17:03) [5]SelectDirectory еще находится и в Windows
← →
Sandman25 (2004-01-28 17:04) [6]Насколько я понимаю, не поведет. Такое сообщение выводится только применительно к платформам Lynux/Windows. Но лучше посмотреть по исходникам - если используется WinAPI функция, которой нет в Win95, то соответственно в нем (ней, них?) не будет работать.
← →
Андрей Сенченко (2004-01-28 17:07) [7]>> YuRock © (28.01.04 17:03) [5]
SelectDirectory еще находится и в Windows
Сносим FileCtrl из uses, получаем
[Error] Undeclared identifier: "SelectDirectory"
Windows объявлена первой - стандартно.
>> Sandman25 © (28.01.04 17:04) [6]
если используется WinAPI функция, которой нет в Win95,
Как раз о них родных то и забота ... есть еще дичь такая.
← →
Sandman25 (2004-01-28 17:13) [8]SHBrowseForFolder есть в Win95. Остальные функции тоже должны быть.
← →
YuRock (2004-01-28 17:14) [9]Извините, перепутал с SetCurrentDirectory. Могу предложить мой почти аналог SelectDirectory на API:
function BrowseDir(hOwner: Integer; cTitle: String): String;
var
lpbi: TBROWSEINFO;
lpBuffer: LPSTR;
il: PItemIDList;
begin
ZeroMemory(@lpbi, SizeOf(TBROWSEINFO));
lpbi.hwndOwner := hOwner;
lpbi.lpszTitle := LPSTR(cTitle);
lpbi.ulFlags := BIF_RETURNONLYFSDIRS;
lpbi.lpfn := nil;
lpbi.lParam := 0;
lpbi.pszDisplayName := StrAlloc(MAX_PATH);
il := SHBrowseForFolder(lpbi);
lpBuffer := StrAlloc(MAX_PATH);
ShGetPathFromIDList(il, lpBuffer);
Result := String(lpBuffer);
StrDispose(lpBuffer);
end;
Ну, c uses"ами думаю, Вы разберетесь...
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.02.06;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.039 c