GetOpenFileName где определена?

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

GetOpenFileName где определена?

Сообщение zub » 07.09.2008 01:07:09

до fpc 2.2.0 определение GetOpenFileName насколько я понял находилось в модуле windows, все нормально работало.
начиная с версии 2.2 - Error: Identifier not found "GetOpenFileName", хотя на тип TOPENFILENAME используемый этой функцией компилятор не ругается.

в delphi функция определена в модуле commdlg, но он компилятором ненаходится, хотя в составе fpc присутствует
zub
долгожитель
 
Сообщения: 2887
Зарегистрирован: 14.11.2005 23:51:26

Re: GetOpenFileName где определена?

Сообщение Sergei I. Gorelkin » 07.09.2008 01:49:44

Да вроде оно все так же в Windows, только варианта GetOpenFileName(var ofn: TOPENFILENAME) почему-то не вижу.
Вариант GetOpenFileNameA должен работать.
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
 
Сообщения: 1406
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Re: GetOpenFileName где определена?

Сообщение zub » 07.09.2008 02:50:41

GetOpenFileNameA тоже не работает
zub
долгожитель
 
Сообщения: 2887
Зарегистрирован: 14.11.2005 23:51:26

Re: GetOpenFileName где определена?

Сообщение Logo » 07.09.2008 03:13:30

Помойму оно в commdlg

Добавлено спустя 34 минуты 53 секунды:
fpc-2.2.2/packages/winunits-base/src/commdlg.pp
Может путь прописать? (У меня нет Винды под рукой, не могу проверить.)
Logo
постоялец
 
Сообщения: 464
Зарегистрирован: 20.08.2008 01:00:47

Re: GetOpenFileName где определена?

Сообщение zub » 07.09.2008 04:12:03

Спасибо, всё решилось!

Раньше определение было в windows (а может дублировалось), щас осталось только в commdlg.
commdlg не подключался изза наличия fpc.cfg в папке проекта, без fpc.cfg всё заработало.

edit:
чет я не понял fpc.cfg в папке проекта добавляется к fpc.cfg из папки компилятора? или заменяет его?
если добавляется то это глюк fpc, если заменяет, то как подключались другие юниты (windows и т.п.)?
zub
долгожитель
 
Сообщения: 2887
Зарегистрирован: 14.11.2005 23:51:26

Re: GetOpenFileName где определена?

Сообщение Vadim » 07.09.2008 06:16:30

zub
Юниты Вы подключаете в своей программе, в строке Uses. А вот где брать эти самые юниты - прописывается в fpc.cfg. Найдите там контекстным поиском буквосочетание -Fu и увидите, по каким путям компилятор ищет юниты. Их там можно несколько штук прописать.
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: GetOpenFileName где определена?

Сообщение zub » 07.09.2008 10:36:34

в папке проекта был fpc.cfg состоящий только из -Fu с путями к моим юнитам. стандартные тоже работали кроме commdlg
zub
долгожитель
 
Сообщения: 2887
Зарегистрирован: 14.11.2005 23:51:26

Re: GetOpenFileName где определена?

Сообщение Logo » 07.09.2008 11:41:20

Стандартные по умолчанию идут, а этот запихнули в индивидуальный, ведь он только под виндовс используется.
Logo
постоялец
 
Сообщения: 464
Зарегистрирован: 20.08.2008 01:00:47

Re: GetOpenFileName где определена?

Сообщение zub » 07.09.2008 12:13:43

те. конфигурационный файл в папке проекта заменяет файл из папки компилятора
хм. windows, messages работали
zub
долгожитель
 
Сообщения: 2887
Зарегистрирован: 14.11.2005 23:51:26

Re: GetOpenFileName где определена?

Сообщение Logo » 07.09.2008 12:40:24

zub писал(а):те. конфигурационный файл в папке проекта заменяет файл из папки компилятора
хм. windows, messages работали

Да.
Logo
постоялец
 
Сообщения: 464
Зарегистрирован: 20.08.2008 01:00:47


Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

Рейтинг@Mail.ru