易截截图软件、单文件、免安装、纯绿色、仅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/


相关问答:

ACCESS的自定义函数在delphi里怎么用呢...

我在模块里自定义了一个函数:stradd()

可是在adoquery1.sql.add('select stradd(author) from book');
时提示stradd未定义...

这个问题有什么办法可以解决的吗? 非常感激!


(在A ......

c++builder中如何调用delphi编写的函数?

请问c++builder中如何调用delphi编写的函数?

如在delphi中函数定义为 function a(s1:string, s2:string):string;
那么在c++builder程序中如何定义这一外部函数呢?
直接将pas文件加入工程,编译成功后, ......

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代理问题 求解 在线等

delphi代理问题 求解 在线等
procedure TForm1.Button3Click(Sender: TObject);
var
  info : INTERNET_PROXY_INFO;
  reg  : TRegistry;
begin

  reg := TRegistry.Crea ......

如何使DELPHI程序出现UAC盾牌?

因为是WIN7系统,程序运行时有的设置需要触及到UAC。

但是网上找的方法都不行,有的方法使用了根本没反应;另外虽然能产生uac盾牌,但在编译时会出现一个错误:

[DCC Error] E2161 Warning: Duplicate ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号