![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Форумчанин
Регистрация: 28.03.2008
Сообщений: 940
|
![]()
Использую icq-програму, которая должна управлять компом.. Она должна принимать 3 сообщения: скачать dll из нета на борт компьютера, загрузить её, зная какая функция находиться в какой dll вызвать её от туда...
Но ведь полное названия процедуры/функции будет находиться в переменной, возможно ли вызвать её? Использую ICQClient, при принятии сообщения которое начинаеться с !run, программа выдерает текст после ":" в переменную, а именно имя функции/процедуры Код:
ps: если чотото не понятно, спросите, желательно по icq, 4122177 Последний раз редактировалось W0LF; 26.07.2009 в 17:18. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 22.02.2009
Сообщений: 875
|
![]()
Как же вы это сделаете? Обращаться к функциям/процедурам из dll надо полностью, т.е.:
Код:
Вы конечно можете искать по какому-нибудь массиву записей вида: Код:
В разделе var объявить динамический массив Код:
Все возможные функции надо, конечно, объявить заранее, например так: Код:
Код:
В общем, я сам не знаю, правильно я тут сказал или нет, т.к. сейчас без делфи.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 28.03.2008
Сообщений: 940
|
![]()
Например, у меня в переменной theS есть некий текст (SM), так же есть процедура SM которая выводит сообщение... Как вызвать процедуру кнопкой не используя
Код:
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 22.02.2009
Сообщений: 875
|
![]()
В данном примере, например, так:
Код:
Код:
То что я тут понаписал, мне кажется, совсем не правильно (еще раз скажу что без делфи сижу). Так что вам придется все додумывать самому... Сильно не пинать.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 16.12.2006
Сообщений: 859
|
![]()
когда-то с этим разбирался. это простыми средствами невоможно. нужно перегонять в стек на ассемблере все параметры а потом вызывать функцию. много мороки особенно с разными типами вызова - stdcall, callback и т.д.
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 28.03.2008
Сообщений: 940
|
![]()
Так дело в том, что программа незнает какие процедуры она есть, всмысле добавить в Create нечего неззя, так как через dll будут добавлять новые функции, каторые неуказаны в программе
|
![]() |
![]() |
![]() |
#7 | ||
Форумчанин
Регистрация: 22.02.2009
Сообщений: 875
|
![]() Цитата:
Цитата:
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
|
||
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
это возможно...пара советов...все функции должны иметь одинаковые параметры(можно через указатели но осторожно)...программа должна точно знать где какую функцию искать...потом постараюсь подробнее сказать
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вызов процедуры | igbizon | Общие вопросы Delphi | 5 | 02.09.2008 10:44 |
Вызов процедуры | Kashp | Общие вопросы Delphi | 4 | 31.03.2008 16:22 |
Вызов процедуры при обьявлении функции | ivannikov | Общие вопросы Delphi | 6 | 12.03.2008 13:20 |
Вызов процедуры | Stanislav | Общие вопросы Delphi | 9 | 22.11.2007 19:01 |
Вызов процедуры | Илья Кибель | Помощь студентам | 7 | 17.09.2007 19:43 |