delphi dll窗体返回主程序窗体
展开全部
DLL中窗体的Owner是什么?还有窗体的构造函数是怎么写的?“如果想从DLL窗体中返回主程序窗体”这句不是十分理解,能解释一下吗? 追问: DLL中窗体的Owner 没有我想的是 DLL窗体显示出来以后 如果密码错误等问题 要返回登陆窗体 登陆窗体是调用该DLL的dll:procedure showform(LL_id:string);beginApplication.CreateForm(TFuser_list, Fuser_list);
fuser_list.Caption:=ll_id+'在线';
my_id:=ll_id;
Fuser_list.Show ;
//连接数据库 获取好友列表
end; 回答: DLL构造窗体的时候最好把主窗体的指针作为Owner:TComponent传递过来,然后你可以通过use主窗体操作主窗体(Owner)了var Fuser_list:TFuser_list;begin Fuser_list := TFuser_list.Create(Owner);end; 补充: 你也可以把DLL构造出来的窗体指针返回给主窗体的。不好意思Dephi不怎么会用,原理是这样的,代码上帮不上太多。 追问: 什么是use主窗体? 如果主窗体已经释放了? 还能再显示出来? 回答: 把主窗体的.pas拷贝到dll目录下,然后use主窗体类,在DLL的窗体就可以操作主窗体里的元素了啊 主窗体释放Application就结束了吧,DLL的窗体也会关掉的 补充: 等下我得找找,以前做过一个C++Builder的 补充: int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved){return 1;}//---------------------------------------------------------------------------
extern "C" __declspec(dllimport) TForm * __stdcall ShowLogonForm(TComponent* Owner);
//---------------------------------------------------------------------------
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询