![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
DLL [D5, Win2k]
id_privin © (2002-08-15 13:06:00)Такая проблемма : в run-time хочеться получить из DLL список имеющихся в ней функций, желательно еще мочь определить их тип.
Digitman (2002-08-15 18:38:00) [1]и где тут нашлось аж 3 варианта при такой абстрактной постановке задачи - непонятно)...
ну да - нашел и слава богу ..
id_privin (2002-08-15 18:14:00) [2]
Вообщем за сегодня проблема была решена всеми 3-мя путями.
Всем большое спасибо. Особенное спасибо для Ekaterina
Digitman (2002-08-15 17:08:00) [3]в целом всен это выглядит так :
если DLL твоей разработки, то, что тебе требуется - это называется plug-in - механизм. Его реализация близка к предложенной <DiamondShark © (15.08.02 15:47)>
если DLL чужой разработки и нет детальной документации по ее интерфейсу - даже не начинай : задача решается лишь теоретически
Milz (2002-08-15 16:32:00) [4]Или сделай согласно Component Object Model, тогда не только твои проги будут определять что у тебя понапихано в dll, но и другие смогут. Как говориться зачем изобретать велосипед?
DiamondShark (2002-08-15 15:47:00) [5]Зачем мучить себя и юзера?
Конфигурационная программа твоя? Твоя.
ДЛЛ тоже твои? Твои.
В каждой ДЛЛ описывай функцию GetLibraryInfo, пусть она тебе возвращает описание содержимого в любом удобном для тебя формате.
Конфигуратор грузит ДЛЛ, пытается получить адрес функции GetLibraryInfo. Если получил, то вызывает и получает всю инфу, какую нужно. Если такой функции нет, то ругаешься, что левая ДЛЛ и все.
Digitman (2002-08-15 15:06:00) [6]Зачем вызываться-то они будут ? Ты что, знаешь, что делается внутри SomeStupidProc или SomeStupidFunc ?
id_privin (2002-08-15 15:04:00) [7]Не вызывать я их и не собираюсь, вызываться они будут потом, главное их имена написать куда надо.
Digitman (2002-08-15 15:02:00) [8]>id_privin
Нет, ну ты ушел от вопроса)
Ну. пусть имеет клиент эти списки, пусть видит, что вот "щелкнешь" туды - будт ему процедура, "сюды" - функция ... а дальше то что ? Ну начнет он щелкать из любопытства, предположим ... ты поймал "щелчек" и вызвал соотв. точку входа ... что ожидается тобой и клиентом в результате ?
id_privin (2002-08-15 14:56:00) [9]Этого всего не будет если никто не даст вразумительный ответ.
Кроме того : для того я и пишу утилитки, для того чтобы на одной-двух формочках можно было мышкой собрать настройки, которые потом будут рассованы в 6 таблиц, откуда потом будут считанны главной прогой. И для меня обсолютно не проблемма написать утилитку так, что бы клиент там все понял.
Внук (2002-08-15 14:54:00) [10]>>Digitman © (15.08.02 14:45)
А также
SomeCoolProc1 - процедура, черт те что делающая
SomeCoolProc2 - процедура, черт те что делающая
SomeCoolFunc1 - функция, черт те что делающая
SomeCoolFunc2 - функция, черт те что делающая
:-)
Digitman (2002-08-15 14:45:00) [11]>id_privin
ну, хорошо ...
получил клиент списки :
SomeStupidProc1 - процедура, черт те что делающая
SomeStupidProc2 - процедура, черт те что делающая
SomeStupidFunc1 - функция, черт те что делающая
SomeStupidFunc2 - функция, черт те что делающая
Дальше что ? Даже при наличии недюжинного интеллекта ?
id_privin (2002-08-15 14:42:00) [12]У них интелекта маловато, вот мышкой ткнуть это как раз для них.
Digitman (2002-08-15 14:42:00) [13]А на кой черт, извини, клиенту нужны ф-ции и процедуры, функциональность которых ему неизвестна ? Равно как и тебе ? DLL-то, надо понимать - не твоего творчества, чужая ?
Игорь Шевченко (2002-08-15 14:39:00) [14]id_privin © (15.08.02 14:37)
Не мучайте клиентов - отдайте им документацию
id_privin (2002-08-15 14:37:00) [15]Счастье, будет когда я в одну DLL напишу процедуры и функции, отдам клиенту, он запустит мою, утилитку для конфигурации моей же проги, и сможет увидеть набор функций в DLL, а из другой утилиты он увидит процедуры.
Digitman (2002-08-15 14:32:00) [16]Какую практическую пользу будет иметь сие "счастье" ? Мало ли что делает библиотечный вызов и что он возвращает (и возвращает ли) ...
id_privin (2002-08-15 14:25:00) [17]Мне параметры не нужны, для меня полным счастьем будет информация о том есть, или нет возвращаемое значение.
Игорь Шевченко (2002-08-15 14:21:00) [18]Opuhshii © (15.08.02 14:01)
Если DLL на C++, то хранятся :-)))
Opuhshii (2002-08-15 14:01:00) [19]в библиотеках (тех что DLL) не храняться описания параметров,..
id_privin (2002-08-15 13:51:00) [20]Буду очень благодарен за пример на Delphi, особенно если его размер меньше PEDump.