|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Локальные функции dll
Вопрос следущий: как создать локальную(внутреннюю) функцию в dll библиотеке (Delphi 7) ??
2 часа поиска в инете и параллельные попытки решить проблему "своими силами" не принесли результатов. Пробывал просто не вносить название функции в список экпортируемых, но после этого компилятор начинает ругаться на любое упоминание названия функции в коде.. Есть предположение, что нужно что-то прописать в разделе types, как это делается в форме, но не знаю что конкретно. И к тому же в коде нет этого раздела |
#2
|
|||
|
|||
Решение найдено - размещение кода "локальной" функции перед "экспортируемыми", в которых используется "локальная".
При этом было установлено эксперементально, что любая из функций длл, в том числе и "экспортируемые" могут ссылатся друг на друга внутри библиотеки, главное чтобы код той функции которая ссылается, стоял после кода функции на которую идет ссылка. Похоже на бред, но это так. =\ Но что-то мне подсказывает, что мое решение не самое грамотное, и существует более цивилизованый подход |
#3
|
|||
|
|||
Есть еще ключевое слово Forward, позволяющее определить функцию в начале файла. Тогда взаимное расположение кода функций роли не играет.
|
#4
|
||||
|
||||
Цитата:
Более цивильный подход - оставить в файле dpr только секцию экспорта и присоединить к нему необходимое тебе количество модулей ( простых unit, а не форм ) и в них реализовать функции ( не забывая хотябы экспортируемые объявлять в интерфейсной секции ) . как это делается в проектах приложений. |