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);//---------------------------------------------------------------------------
温馨提示:内容为网友见解,仅供参考
无其他回答

delphi dll窗体返回主程序窗体
\/\/连接数据库 获取好友列表end; 回答: DLL构造窗体的时候最好把主窗体的指针作为Owner:TComponent传递过来,然后你可以通过use主窗体操作主窗体(Owner)了var Fuser_list:TFuser_list;begin Fuser_list := TFuser_list.Create(Owner);end; 补充: 你也可以把DLL构造出来的窗体指针返回给主窗体的。不...

Delphi开发的dll中创建了一个窗体退出在进程退出时碰到的问题?_百度...
可能回传一个窗体就行,我用这样的方法做了一个试验,一切正常。DLL代码如下:library dll_Form;uses Windows,Forms;{$R *.res} var TestForm:TForm;Function LoadForm:TForm; export; stdcall;begin if TestForm=nil then TestForm := TForm.Create(nil);TestForm.Show;Result:=TestForm;end;exp...

DELPHI 写一个DLL封装一个可输入内容的窗口,当缩主程序调用DLL后,将...
可以使用接口来处理,先在公共单元里声明一个接口例如:IPulgInput = interface function GetInputString: string;end;在DLL的窗体里使用这个接口,把接口挂在窗口类后面,类似这样 TForm1 = class(TForm, IPulgInput)private function GetInputString: string;...end;\/\/声明一个生成接口实例的函数:func...

dll中,怎么在窗体关闭的时候把值返回到主窗体中??
我的意思是,有个主窗体,点击上面的按钮我用的系统用Delphi编写,我修改后不能生成.EXE,

vba里如何调用dll里的函数
,导致aspnet_wp.exe退出调用一个delphi生成的dll文件函数(非COM组件),窗体应用程序中调用一切OK,在web应用程序中报错,下面是事件查看器中的出错内容: 弹出应用程序: aspnet_wp.exe - 应用程序错误:  

Delphi中如何把函数代码调出主程序,写到“DLL”中并调用?
上面的例子中我们在窗体上放置了一个编辑框(Edit)和一个按钮(Button),并且书写了很少的代码来测试我们刚刚编写的Delphi.dll。大家可以看到我们唯一做的工作是将TestDll函数的说明部分放在了implementation中,并且用external语句指定了Delphi.dll的位置。(本例中调用程序和Delphi.dll在同一个目录中。)让人兴奋的是,我们...

delphi mdi主窗体调用dll子窗体后 怎么限制只能打开一次,如果已经打开...
加个 formBoole = false; 为全局变量 如果调用了dll 设置 为true 判断如果为true 就调用了,不再调用,如果想两个窗口通迅,,用SendMessage 函数 可以查下百度

delphi调用带有窗体的dll,窗体的事件怎样调用?
1. dll工程文件, test.dll:library testDll;uses SysUtils,Classes,Forms,FormDll in 'FormDll.pas' {frmDll};{$R *.RES} function GetDllForm: TForm; stdcall; export;begin Result := frmDll;end;exports GetDllForm;begin end.2. dll中包含的窗体,窗体有一个按钮,FormDll.pas:unit ...

Delphi如何把DLL数据传给主程序?
类似这样:声明DLL中包含的类型 typeDLL myDLL ;调用 DLL中相应的方法获取返回值 data:String = myDLL .SomeFunc(...);使用返回值: edit1.Text = data:String

delphi dll中的窗体
如果你的dll或exe中未对主窗体的状态作设置,并不会存在你所描述的问题,请你检查一下代码,是否在关闭窗体之后对窗体状态作出了重设。

相似回答