请教,在DLL中,如何通过FindComponent来查找访问主程序窗体中的组件。
我在DLL中,接收主程序窗体Form的指针,然后用FindComponent来访问主程序窗体Form的Edit组件,编译运行时,查找不到主程序窗体Form的Edit组件,请问错在哪里?谢谢!
dll源程序
extern "C" __declspec(dllexport) void __stdcall MyDllProc(TForm *pForm)
{
TEdit *Edit1 = dynamic_cast<TEdit*>(pForm->FindChildControl("Edit1"));
Edit1->Text = "123456";
}
主程序
void __fastcall TForm1::Button1Click(TObject *Sender)
{
HINSTANCE MyDll = LoadLibrary(L"MyDll.dll");
if(MyDll)
{
void __stdcall (*MyDllProc)(TForm*);
MyDllProc = (void __stdcall (*)(TForm*))GetProcAddress(MyDll, "MyDllProc");
MyDllProc(this);
}
FreeLibrary(MyDll);
}