| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Как динамически добавить модули в программу? |
| Автор: kemper 7.7.2003, 15:19 |
| Мне надо написать программу, которая бы получала на вход данные(файл) и обрабатывала эти данные различными алгоритмами. Алгоритмы могут быть оформленны как функции: function f1(a:vectorA):vectorB. Но алгоритмы могут со временем изменятся и добавлятся новые. Объясню, что я хочу сделать: Каждую функцию поместить в модуль и подключать эти модули к программе прописывая их в конфиг-файле. Пользователь выбирает алгоритм и обрабатывает данные. Вопрос: Как мне вызвать функцию из модуля, который прописан в конфиг-файле? Если это в Delphi зделать нельзя подскажите свои варианты решения проблемы. Заранее благодарен. |
| Автор: eof 7.7.2003, 15:28 |
| надо использовать интерпретатор, например visual basic, fox pro и т.п. или писать свой парсер на делфях. Все зависит от того на сколько сложные будут алгоритмы. Есть еще вариант, когда алгоритм рассчета реализован в длл. Если нужно изменить алгоритм, то достаточно перекомпилять (заменить) длл, а проект можно не трогать. Лично я терпеть не могу интерпретаторы, хотя в твоей задаче возможно это оптимально. |
| Автор: kemper 7.7.2003, 15:50 |
| Спастибо Алгоритмы простые(20-30 строчек, без условий). Как мне сделать dll или где можно об этом прочитать??? |
| Автор: <Spawn> 7.7.2003, 16:58 | ||||||
Создаешь новый проект так - File>New>Other>DLL Wizard. Это будет заготовка под модуль ДЛЛ. Затем описываешь в нем свои функции/процедуры. И те, которые ты хочешь использовать в своей проге,обьявляешь экспортируемыми. Все примерно так.
Для того чтобы создать новую ДЛЛ Run не прокатит - используй, например,Project>Build All Projects; В своей проге их можно использовать по разному. Например, обьявляешь ее прототип так
Тогда загрузчик сам позаботится о подключении ДЛЛ к твоей проге. А можно это делать динамически:
Вот примерно так нада использовать ДЛЛ. |