程序采用一个EXE+DLL的形式,DLL中输出一个函数GetFrame用来得到DLL中的一个Frame,
function GetFrame(AOwner : TComponent : TFrame;
begin
Result := TMyFrame.Create(AOwner); //TMyFrame是DLL中的一个Frame
end;
然后由EXE把这个Frame嵌入到主窗体中使用(一般是主窗体的一个Panel中)。
但是这样做我发现有几个问题:1.当MyFrame的ParentFont设置为True的时候,根本不能创建这个MyFrame,提示
'Cannot assign a TFont to a TFont'
2.如果MyFrame的父窗体已经显示,无法正确显示MyFrame,
必须先把父窗体Visible := False;等MyFrame创建并显示后,再把父窗体Visible := True,
这样才能正确显示MyFram
3.MyFrame中一定不能有Hint,如果有Hint显示,一定会报错,错误也是:
'Cannot assign a TFont to a TFont'我不知道是不是我哪里没有弄对,还是Delphi本身的局限。
谁能给我一个好的建议,或者答案?像这种问题,我在网上也查过,好像说把Exe的Application和Screen替换Dll,但是我试过一样的。在我的测试程序中只发现这3个问题,但是在我实际的程序中,问题比这个还要多,比如MyFrame中的字体
不能改变,颜色不能改变,一改变也会出现'Cannot assign a TFont to a TFont'或者其他莫名
错误。
function GetFrame(AOwner : TComponent : TFrame;
begin
Result := TMyFrame.Create(AOwner); //TMyFrame是DLL中的一个Frame
end;
然后由EXE把这个Frame嵌入到主窗体中使用(一般是主窗体的一个Panel中)。
但是这样做我发现有几个问题:1.当MyFrame的ParentFont设置为True的时候,根本不能创建这个MyFrame,提示
'Cannot assign a TFont to a TFont'
2.如果MyFrame的父窗体已经显示,无法正确显示MyFrame,
必须先把父窗体Visible := False;等MyFrame创建并显示后,再把父窗体Visible := True,
这样才能正确显示MyFram
3.MyFrame中一定不能有Hint,如果有Hint显示,一定会报错,错误也是:
'Cannot assign a TFont to a TFont'我不知道是不是我哪里没有弄对,还是Delphi本身的局限。
谁能给我一个好的建议,或者答案?像这种问题,我在网上也查过,好像说把Exe的Application和Screen替换Dll,但是我试过一样的。在我的测试程序中只发现这3个问题,但是在我实际的程序中,问题比这个还要多,比如MyFrame中的字体
不能改变,颜色不能改变,一改变也会出现'Cannot assign a TFont to a TFont'或者其他莫名
错误。
解决方案 »
- 求高效的大文件操作方法
- 通过ADO更新mysql表,2600条,用了30秒,怎么优化?急。谢谢
- delphi7 intraweb+数据库运行时提示 could not load ssl library ??
- 显示或隐藏图片出现屏幕闪动现象,如何处理?附代码
- 写了一个成功完成多层应用程序大量用户数据并发提交的控件
- 使用SPCOMM,如何才能把按收到的数据(十六进制数)显示成十进制数?
- 两个窗体间传递消息???????????
- 两个宽带网络中的两台机器怎样实现通讯?
- 请问,哪里可以下载到InstallShield Express 5 for Delphi5???(在线等待)
- 简单问题
- 想制作一个局网内远程桌面控制的软件 请大家帮忙
- 怎样在edit显示查询的结果
不知道aaronhocn采用内存映射方法大概是怎么实现的?
只要这两个runtime package 就可以了吗?那我做安装程序的时候需要增加哪些文件?最好不用runtime package。