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

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

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

Ответить
zub
долгожитель
Сообщения: 2890
Зарегистрирован: 14.11.2005 22:51:26
Контактная информация:

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

Сообщение zub »

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

в delphi функция определена в модуле commdlg, но он компилятором ненаходится, хотя в составе fpc присутствует
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
Сообщения: 1409
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Сообщение Sergei I. Gorelkin »

Да вроде оно все так же в Windows, только варианта GetOpenFileName(var ofn: TOPENFILENAME) почему-то не вижу.
Вариант GetOpenFileNameA должен работать.
zub
долгожитель
Сообщения: 2890
Зарегистрирован: 14.11.2005 22:51:26
Контактная информация:

Сообщение zub »

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

Сообщение Logo »

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

Добавлено спустя 34 минуты 53 секунды:
fpc-2.2.2/packages/winunits-base/src/commdlg.pp
Может путь прописать? (У меня нет Винды под рукой, не могу проверить.)
zub
долгожитель
Сообщения: 2890
Зарегистрирован: 14.11.2005 22:51:26
Контактная информация:

Сообщение zub »

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

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

edit:
чет я не понял fpc.cfg в папке проекта добавляется к fpc.cfg из папки компилятора? или заменяет его?
если добавляется то это глюк fpc, если заменяет, то как подключались другие юниты (windows и т.п.)?
Vadim
долгожитель
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Сообщение Vadim »

zub
Юниты Вы подключаете в своей программе, в строке Uses. А вот где брать эти самые юниты - прописывается в fpc.cfg. Найдите там контекстным поиском буквосочетание -Fu и увидите, по каким путям компилятор ищет юниты. Их там можно несколько штук прописать.
zub
долгожитель
Сообщения: 2890
Зарегистрирован: 14.11.2005 22:51:26
Контактная информация:

Сообщение zub »

в папке проекта был fpc.cfg состоящий только из -Fu с путями к моим юнитам. стандартные тоже работали кроме commdlg
Logo
постоялец
Сообщения: 464
Зарегистрирован: 20.08.2008 01:00:47

Сообщение Logo »

Стандартные по умолчанию идут, а этот запихнули в индивидуальный, ведь он только под виндовс используется.
zub
долгожитель
Сообщения: 2890
Зарегистрирован: 14.11.2005 22:51:26
Контактная информация:

Сообщение zub »

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

Сообщение Logo »

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

Да.
Ответить