powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Существует ли механизм вызова функций из DLL по ID ?
7 сообщений из 7, страница 1 из 1
Существует ли механизм вызова функций из DLL по ID ?
    #33089136
gogo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
Существует ли механизм вызова функций из DLL по ID ?
Параметры упакованы в тесктовую строку.
Есть движок на VC++ у заказчика на площадке, который в зависимости от ситуации на объекте реального времени вызывает ту или иную функцию. Количество функций постоянно возрастает и уже перевалило за вторую сотню.
Как спректировать DLL, чтобы заказчику поставлять только ДЛЛ с добавленными или обновленными функциями и дергать их оттуда по ID. Как при этом будет выглядеть вызов функции по ID c параметрами упакованными в текстовую строку.
Проект MSVC++, MFC.
Спасибо.
...
Рейтинг: 0 / 0
Существует ли механизм вызова функций из DLL по ID ?
    #33089147
Фотография Землекоп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А чем не устраивает

hLibrary = LoadLibrary("My.dll");
if(hLibrary){
...
Рейтинг: 0 / 0
Существует ли механизм вызова функций из DLL по ID ?
    #33089149
Фотография Землекоп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
typedef int ( * lpFunc1)(int);
lpFunc1 Func1;
HINSTANCE hLibrary = LoadLibrary("My.dll"); // Load the DLL now

    int x =  3 ;
    double y =  2 . 3 ;
    int a;
    
    
    if (hLibrary != NULL)
	{
             Func1 =  (lpFunc1)GetProcAddress(hLibrary, "MyFunction");
             if (Func1 != NULL)
             a = ((Func1)(x ));
	}
lib в это случае не нужен. Перелинковывать программу при добавлении функции нет нужды.
...
Рейтинг: 0 / 0
Существует ли механизм вызова функций из DLL по ID ?
    #33089195
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то мне сразу IDispatch припомнился, там как раз функции по айдишнику вызываются, а параметры передаются как массив VARIANTов. На эту шнягу написано дофига всего-всего и можно, кажись, добиться полной автоматики этого дела. Если интересно, ффтыкай в OLE Automation, COM.
------------------
- А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm
...
Рейтинг: 0 / 0
Существует ли механизм вызова функций из DLL по ID ?
    #33089197
gogo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за ответ.
Если я правильно Вас понял, имея в БД таблицу с именами вызываемых из ДЛЛ функций "MyFunc1",...., "MyFuncN", то при помощи Вашего механизма

Func1 = (lpFunc1)GetProcAddress(hLibrary, "MyFunc1");
if (Func1 != NULL)
a = ((Func1)(x ));

можно вызывать эти функции из ДЛЛ указывая их строковые имена ?
...
Рейтинг: 0 / 0
Существует ли механизм вызова функций из DLL по ID ?
    #33089199
Фотография Землекоп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gogoможно вызывать эти функции из ДЛЛ указывая их строковые имена ?

Именно так. В MSDN есть примеры.Главное правильно описать указатель на функцию и ее аргументы.
...
Рейтинг: 0 / 0
Существует ли механизм вызова функций из DLL по ID ?
    #33090130
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЕсть движок на VC++ у заказчика на площадке, который в зависимости от ситуации на объекте реального времени вызывает ту или иную функцию. Количество функций постоянно возрастает и уже перевалило за вторую сотню.
есть опасность пуститься в другую крайность - процедурное программирование вместо ООП .
______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Существует ли механизм вызова функций из DLL по ID ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]