新手求助:dll被载入后,主程序不响应
本人刚学dll,自己试着写了一个dll之后,在主程序中调用dll,dll中的窗口正确显示了,但此时dll窗口是活动的,主程序窗口变成非活动窗口,并且不响应任何操作,变灰了。
我猜想,是不是dll此时占用了主程序进程,要让dll窗口和主程序窗口都能响应操作,必须新开线程呢?我还没试过在线程中调用dll窗口。
请各位大大告诉我这是什么原因?
void __fastcall TForm1::ShowDLLaboutClick(TObject *Sender){ HINSTANCE ins; ins = LoadLibrary("./dll/mkabout.dll"); try { if(ins == NULL) throw MyException("Can't Load Library!"); FARPROC proc; proc = GetProcAddress(ins,"_myAbout"); //一个什么也不做的form if(proc == NULL) { FreeLibrary(ins); throw MyException("Can't Get Proc Address!"); } proc(); if(!FreeLibrary(ins)) { throw MyException("Can't Free!"); } } catch (MyException &myException) { ShowMessage(myException.test); }}