Видимость GetSpecialDir

Вопросы программирования и использования среды Lazarus.

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

Видимость GetSpecialDir

Сообщение VAshot » 23.01.2011 13:26:49

Как заставить быть видимой функцию GetSpecialDir из SysUtils?
В SysUtils прописал её объявление. В редакторе видна, при компиляции:
unit1.pas(88,28) Error: Identifier not found "GetSpecialDir"

Разницы в описании с другими видимыми функциями из этого модуля не нахожу.
Аватара пользователя
VAshot
постоялец
 
Сообщения: 128
Зарегистрирован: 01.11.2007 12:31:21
Откуда: Пермь

Re: Видимость GetSpecialDir

Сообщение Odyssey » 23.01.2011 15:14:44

При компиляции программ используются не исходники системных библиотек, а уже скомпилированные модули. Поэтому чтобы почувствовать изменения, придётся пересобирать FPC RTL. А если вы завяжете свою программу на эти изменения, RTL придётся пересобирать на каждом компе/ОС, где будет компилироваться ваша программа. Поэтому обычно исходники RTL не меняют, вместо этого пишут свои модули и подключают их.

А функция GetSpecialDir не объявлена в интерфейсной части SysUtils потому, что она не кроссплатформенная (работает только под Windows). См. обсуждение тут.
Odyssey
энтузиаст
 
Сообщения: 580
Зарегистрирован: 29.11.2007 17:32:24

Re: Видимость GetSpecialDir

Сообщение VAshot » 23.01.2011 15:51:52

Понятно, раньше так и делал со своей реализацией.
Как оказалось, есть функция генерирующая путь до папки с конфигом... Решил воспользоваться. Не устраивает то, что она генерирует полный путь, а хотелось бы только основной (С:\AppData\local\, к примеру) получить.
Как вариант, обрезать конечную папку, но в функции используется переменная VendorName, у меня она пустая, и, в общем случае, непонятно одну или две папки обрезать в пути.

Где определяется эта VendorName?
Аватара пользователя
VAshot
постоялец
 
Сообщения: 128
Зарегистрирован: 01.11.2007 12:31:21
Откуда: Пермь

Re: Видимость GetSpecialDir

Сообщение Odyssey » 23.01.2011 17:33:59

Где определяется -- не знаю, нужно искать по исходникам. Установить её можно с помощью callback'а OnGetVendorName.
Odyssey
энтузиаст
 
Сообщения: 580
Зарегистрирован: 29.11.2007 17:32:24


Вернуться в Lazarus

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

Сейчас этот форум просматривают: Yandex [Bot] и гости: 23

Рейтинг@Mail.ru