将调用窗体的语句写成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;
解决方案 »
- 线程占用CPU太高了
- Cookie问题
- 初学者的ado问题,高手指点。
- 请教程序"皮肤样式"的制作方法或其原理,谢谢!!!
- 请问如何制作ie插件啊?急,在线等
- 怎样解决错误提示:Access Violation at address 409F02C4 in module 'IDOBC32.DLL'
- 怎末这个论坛这末商业化啊?如果新手的分用完了,不是不用再问了?
- delphi2009-关于摄像头保存图片问题
- 请问有谁知道怎样打开delphi中vcl的源代码
- 谁能答复我:拷贝整个文件夹的函数???
- 添加控件的问题, 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;这样可以的,如果有问题,留言!