dll内有一TFrame1
外部接口函数
function x(app:tapplication):Tframe;stdcall;
begin
Result:=tframe1.create(app);
end;主调程序
主窗体上有一个panel1
我这么调没报错,但也没显示任何内容的问题
var
f:tframe;
begin
f:=x(application);
f.parent:=panel1;
f.show;
end;
外部接口函数
function x(app:tapplication):Tframe;stdcall;
begin
Result:=tframe1.create(app);
end;主调程序
主窗体上有一个panel1
我这么调没报错,但也没显示任何内容的问题
var
f:tframe;
begin
f:=x(application);
f.parent:=panel1;
f.show;
end;
解决方案 »
- 关于ClientDataSet,midas报错的问题---急啊,急啊
- 100分求教,开发MIDAS应用程序,如何向客户端发送消息。
- !!我是新手,一直没解决的问题,把代码贴完整点,让大家看看怎么解决!
- 怎样通过改变trackbar改变歌曲的播放进度?
- 请帮我写个字符串处理函数好吗?急用,马上给分
- 急!!!哪位大侠帮帮我!!(要是能完成就送100分)
- mscomm控件为什么装不上!
- 救急!如何用SQL语句让一个表的记录变成另一个表的字段来使用
- 调查一下各位用的IntraWeb的版本?来者有分.
- SendMessage鼠标的命令好使。。。键盘的不好用。。。求解。。。
- 关于pagecontrol和webbrowser的问题。
- 关于ACCESS数据库和SELECT语句的问题
...
uses
SysUtils,
Forms,
Windows,
Messages,
Classes,
DLLFormUnit in 'DLLFormUnit.pas' {frmDLLForm};{$R *.res}function CreateDLLForm(App: TApplication):TForm;
begin
Application := App;
Application.CreateForm(TfrmDLLForm, frmDLLForm);
result:=frmDLLForm;
end;exports
CreateDLLForm;
begin
end.调用DLL的主窗口
...
type
LoadDLLFrm=function(App:TApplication):TForm;
...
var
DLLForm:TForm; //定义一个全局变量
implementation
procedure TForm1.Button1Click(Sender: TObject);
var
DLLHandle: THandle;
DLLSub: LoadDLLFrm;
begin
DLLHandle := LoadLibrary('d:\prjDLL.dll');
if DLLHandle <> 0 then
begin
@DLLSub := GetProcAddress(DLLHandle, 'CreateDLLForm');
if Assigned(DLLSub) then
begin
DLLForm := DLLSub(Application);
end;
DLLForm.Parent:=Panel1;
DLLForm.Align:=alClient;
DLLForm.Show;
end;
end;