易截截图软件、单文件、免安装、纯绿色、仅160KB

delphi的dll中自定义的类如何在调用程序中实例化?

Delphi(Pascal) code:
unit Unit1;

interface
type
Module=class
published
function ReadTest: integer;
procedure WriteTest(const Value: integer);
published
property Test:integer read ReadTest write WriteTest;
end;
ModuleClass=class of Module;


implementation

{ Module }

function Module.ReadTest: integer;
begin
result:=Test;
end;

procedure Module.WriteTest(const Value: integer);
begin
Test:=value;
end;

end.


Delphi(Pascal) code:
function GetModule():ModuleClass;stdcall;
begin
result:=Module;
end;

上边两个是在dll中定义的.
function GetModule():ModuleClass;far;external 'Project3.dll';
Delphi(Pascal) code:

procedure TForm4.Button1Click(Sender: TObject);
var
m1:ModuleClass;
m:Module;
begin
//

m1:=GetModule();

m:=m1.Create() as Module;
m.Test:=100;
end;

像上边这样行吗?
我实际调用的时候.内存溢出了.好像.不知道咋做!!
学习

我晕.看到有回复.好高兴.但我担心的事还是发生了......



引用
不用 interface 会产生许多麻烦,光一个内存管理就够呛的了,再弄点儿 is/


相关问答:

delphi 取oracle系统表sys.aud$问题

手头有一个老的产品,delphi 6连接oracle,取sys.aud$系统表里面的数据

用Adoconnection+adodataset,

用system用户,Adoconnection 连接成功,但如果在adodataset里面写:

SELECT * from SYS.AUD ......

delphi连postgresql成功,但不能增加或修改记录

环境winXP,delphi 7, postsgresql 8.4, 已安装odbc for postgresql

连接方式ado -> odbc -> postgresql

Delphi(Pascal) code:

con1.ConnectionString := 'Provider=MSDASQL.1;Extended Pr ......

delphi中的dbchart中的饼形图怎么是一条直线

dbchart中的饼形图。无法显示。下面是代码。
      with adoquery2 do
      begin
        close;
        sql.clear;
&nb ......

delphi中我设置了多个checkbox,怎么设置只能选一个。

问题1。delphi中我设置了多个checkbox(checkbox1,checkbox2,checkbox3),怎么设置只能选checkbox2。
问题2。我根据选择运行完后,再想选择别的checkbox3时怎么取消原来的选择checkbox2.


1、单选建议改用 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号