Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
7-16775
Kyzja
2003-11-17 14:35
2004.02.06
Как запихнуть форму в dll ?


14-16660
АлексейК
2004-01-17 11:42
2004.02.06
Оффшорное программирование.


1-16436
Kolega
2004-01-28 11:11
2004.02.06
Работа со строками


8-16526
Chlavik
2003-09-30 19:50
2004.02.06
Чёрное:=CoolFunc(Белое); // у кого есть алгоритм?


14-16729
SJ-79
2004-01-15 21:53
2004.02.06
???





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский