读书人

dll中如何动态创建控件

发布时间: 2012-11-12 12:31:58 作者: rapoo

dll中怎么动态创建控件

procedure CreateControl(App: Thandle);stdcall;
var
Btn: TButton;
begin
Application.handle := app;
Btn := TButton.Create(Application);
Btn.left := 20;
Btn.top := 20;
end;

为什么CreateControl(Application.handle)没有生成Button呢?应该怎么写才对,请各位高手指点一下。。

[解决办法]
你想button生成在哪个窗口上?application事实上是一个不存在的窗口
[解决办法]
Btn.Parent := Self;//Parent指定显示的位置。
[解决办法]
统一楼上观点 你的控件要放在哪个窗体上、在窗体的哪个位置 都是需要给出明确的指定的
[解决办法]
还要指定Parent
[解决办法]
http://qzriso.iteye.com/blog/476450
http://topic.csdn.net/u/20081001/10/07302511-fa14-4c6a-ba1d-c8ea42d6bdea.html
http://topic.csdn.net/t/20020926/08/1053838.html
[解决办法]
由于DELPHI对象创建在堆上,所以尽量别在DLL中进行对象操作
[解决办法]
报什么错误,我也关注一下,应该制定parent容器就可以了
[解决办法]
要用 DLL 中的控件,想法很好,用起来就没有那么方便了。
1. 保存 DLL Application
2. exe 传入 Application,替换 DLL 中的。
3. 创建控件后,指定 Parent
4. 结束 DLL 的时候,替换回 Application。
[解决办法]
需要指定Parent
[解决办法]
解决了吗。。

读书人网 >.NET

热点推荐