Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Назначить на OnClick функцию из DLL
|
|||
|---|---|---|---|
|
#18+
Hi All! CBuilder 5. Я делаю что-то вроде плагина. Программа опрашивает каталог, по наличию в нем определенных DLL создает новые пункты меню, на клик которых надо повесить обработчик, который тоже, естественно, хранится в DLL. Делаю так. HINSTANCE hDll; hDll=LoadLibrary("my.dll"); if(hDll) { void __fastcall (*IsFunc)(TObject *Sender)=NULL; (FARPROC)IsFunc=GetProcAddress(hDll,"_myfunc"); nItem->OnClick=IsFunc(MF); // и вот тут компиллятор выдает not an allowed type.!!!!! } Как мне изменить код, чтобы он заработал? Или это в принципе нереально? Thanks in advance Eugenie ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2003, 11:27 |
|
||
|
Назначить на OnClick функцию из DLL
|
|||
|---|---|---|---|
|
#18+
Насколько я понимаю .... nItem->OnClick= IsFunc(MF ); //- это вызов функции. Попробуй так: ... Код: plaintext 1. 2. 3. 4. 5. 6. 7. К сожелению CBuilder нет. Не могу проверить....... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2003, 14:55 |
|
||
|
Назначить на OnClick функцию из DLL
|
|||
|---|---|---|---|
|
#18+
могу сразу сказать, что то что тебе предложили не заработает. OnClick ожидает процедуру класса, которая характеризуется 2 указателями, а даешь ты ей только один. по-мойму, самое простое это написать обработчик нажатия кнопки, в котором вызвать функцию dll ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2003, 03:19 |
|
||
|
Назначить на OnClick функцию из DLL
|
|||
|---|---|---|---|
|
#18+
Можно попробовать так: HINSTANCE hDll; hDll=LoadLibrary("my.dll"); if(hDll) { void __fastcall (*IsFunc)(TObject *Sender)=NULL; (FARPROC)IsFunc=GetProcAddress(hDll,"_myfunc"); TMethod Mth; Mth.Data = IsFuc; Mth.Code = hDll; nItem->OnClick= *(TNotifyEvent*)&Mth; } ----------------------------- Хотя я бы делал( и делаю) иначе. Для всех пунктов меню один обработчик. в обработчике загрузка dll и вызов функции из этой dll.Есессно функция должна присутствовать во всех dll. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2003, 14:11 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=32277722&tid=2035920]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
43ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 242ms |
| total: | 377ms |

| 0 / 0 |
