将调用窗体的语句写成DLL中的一个函数来调用时出现内存错误,麻烦大家看看是什么问题?DLL中的函数:procedure OpenForm(frm:TForm);
begin
try
frm := TForm.Create(Application);
frm.ShowModal;
finally
frm.Free;
end;
end;主程序中的调用语句:
implementation
uses SelectTYPJ_frm;
procedure OpenForm(frm:TForm);stdcall;external 'pub.dll'procedure TfrmInputPJ.grdT0103KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin OpenForm(frmSelectTYPJ);end;
begin
try
frm := TForm.Create(Application);
frm.ShowModal;
finally
frm.Free;
end;
end;主程序中的调用语句:
implementation
uses SelectTYPJ_frm;
procedure OpenForm(frm:TForm);stdcall;external 'pub.dll'procedure TfrmInputPJ.grdT0103KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin OpenForm(frmSelectTYPJ);end;
解决方案 »
- 请教一下,char类型的储存长度?
- 你能想到吗 if a then b else c 中的else有问题?
- 提个难题,取另外一个程序DBGrid中的数据,这个DBGrid在一个BPL中不是在Exe文件中
- Animate控件的大小
- 寻找控件
- 大虾帮忙啊,我在一个过程中在调用另一个事件(自带参数)的时候,参数怎么设置?谢谢
- delphi和Excel的列宽控制
- 一个数据库问题,急!!!
- 请问除了用数组,如何在实现一个栈类?pascal 有指针么?
- 如何判断TMaskEdit中没有输入内容
- 添加控件的问题, component--install packages 安装了,1st的组件, 为什么再打开的时候就没有这个组件, 还要再装一次才行.
- 自写控件看不见帮改下代码
procedure OpenForm(frm:TForm);
begin
try
frm := Tfrm.Create(nil);//此处出错,说Tfrm没有定义,这是为什么呢?
frm.ShowModal;
finally
frm.Free;
end;
end;
TFormClass = class of Tform;procedure OpenForm(frm:TFormClass );
begin
with frm.Create(Application) do
begin
ShowModal;
end;
end; 主程序中的调用语句:
implementation
uses SelectTYPJ_frm;
procedure OpenForm(frm:TFormClass );stdcall;external 'pub.dll' procedure TfrmInputPJ.grdT0103KeyDown(Sender:TObject; var Key:Word; Shift: TShiftState);
begin OpenForm(TfrmSelectTYPJ); end;这样可以的,如果有问题,留言!