typedef void __fastcall (*TMyProc)(int Pars);
extern TMyProc Proc;
Child Form из DLL
Как открыть ChildForm в виде дочерней формы для MDIForm?
Передавай в Dll указатель на MDIForm и устанавливай ChildForm->ParentWindow=MDIFrom
Передавай в Dll указатель на MDIForm ...
[/QUOTE]
под указателем ты имееш в виду MDIForm.Handle? :confused: (не работает).
Плиз, приложи исходник.
Извеняюсь за тупость, всё работает. Огромное спасибо!
Кстати, а как вызвать процедуру ноходящуюся в MDIForm из DLL'a?
Код:
Затем напиши функцию передачи адреса функции (в dll)
Код:
void __fastcall SetProc(void* Addr)
{
Proc=(TMyProc)Addr;
}
{
Proc=(TMyProc)Addr;
}
Ну а в MDI
Код:
SetCode((void*)имя)
Процедура скорее всего не должна быть частью класса, ибо они все __closure и вроде вызвать дать не должен. Обойти это легко - сделай обычную процедуру и из нее вызывай что надо.
P.S. Это на билдере - но идея та же. Я точно синтаксис дельфы не помню. void* это pointer.
Код:
typedef void __fastcall (*TMyProc)(int Pars);
extern TMyProc Proc;
extern TMyProc Proc;
Затем напиши функцию передачи адреса функции (в dll)
Код:
void __fastcall SetProc(void* Addr)
{
Proc=(TMyProc)Addr;
}
{
Proc=(TMyProc)Addr;
}
Ну а в MDI
Код:
SetCode((void*)имя)
Процедура скорее всего не должна быть частью класса, ибо они все __closure и вроде вызвать дать не должен. Обойти это легко - сделай обычную процедуру и из нее вызывай что надо.
P.S. Это на билдере - но идея та же. Я точно синтаксис дельфы не помню. void* это pointer.
Код:
typedef void __fastcall (*TMyProc)(int Pars);
extern TMyProc Proc;
void __fastcall SetProc(void* Addr)
{
Proc=(TMyProc)Addr;
}
SetCode((void*)имя)
extern TMyProc Proc;
void __fastcall SetProc(void* Addr)
{
Proc=(TMyProc)Addr;
}
SetCode((void*)имя)
[/quote]
Напиши ему на DELPHI, а то тут C++ сплошной.