知识大全 Dll 中导出类 --Delphi 实战[3]
Posted 函数
篇首语:我活着是为学习,而学习并不是为活着。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Dll 中导出类 --Delphi 实战[3]相关的知识,希望对你有一定的参考价值。
Dll 中导出类 --Delphi 实战[3] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
当然 在该单元的 Use 列表中应当将 TFrmTest TFrmTest 以及 TFrmTest 所在的单元包含进来 而 TFrmTest 的实现可以象这样 :
TFrmTest = Class(TMyBaseForm)
protected
function GetTitle: PChar; override;
end;
function TFrmTest GetTitle: Pchar;
begin
result := Hello from TFrmTest ;
end;
末了 别忘了将 GetClassCount 和 GetClassByIndex 加到 Exports 列表中 然后 Build 该 Dll 工程的时候 请将 Project option package 中的 使用运行包 use runtime package 打勾 至于具体的原因后面讲
至此 Dll 方面的工作告一段落
第三步 主程序驱动引擎的实现 :
这一步相对来说容易些 无非是动态加载 Dll 然后调用 GetClassCount 函数 接着调用 GetClassByIndex 关键的代码 :
Var AClass: TMyBaseClass;
AForm: TMyBaseForm;
I iCount: integer;
blResult: Boolean;
begin
// 略去加载动态库的部分 假定 FPGetClassProc 指向 GetClassCount 函数 FPGetClassByIndexProc 指向 GetClassByIndex 则 :
iCount := FPGetClassProc;
for I := to iCount do
begin
AClass := FPGetClassByIndex(I blResult);
if blResult then
begin
AForm := AClass Create(Application);
AForm Caption := AForm GetTitle;
AForm Show;
end;
end;
// …
end;
注意一点 和 Dll 相似 创建输出文件的时候 也需要选择使用运行时间包 这是因为 如果不使用运行时间包 将导致相同的类在内存中有多个副本 因而对它们使用 Is 操作符的将返回 False 的结果
cha138/Article/program/Delphi/201311/24859相关参考
Dll中导出类--Delphi实战[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 暂不探讨
Delphi学堂之用Delphi制作DLL小结 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!一Dl
知识大全 Delphi 中动态链接库(dll)的建立和使用[2]
Delphi中动态链接库(dll)的建立和使用[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
知识大全 Delphi 中动态链接库(dll)的建立和使用[1]
Delphi中动态链接库(dll)的建立和使用[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
知识大全 如何在Delphi中调用.Net编写的DLL中的函数
如何在Delphi中调用.Net编写的DLL中的函数 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Delphi向Word中导出数据 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 数据导出到wor
基于Eclipse的工具开发:设定构建路径实战[3] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
骆驼沙漠之舟的什么本领在动物中是出类拔萃的骆驼是反刍动物,所以紧接在真胃的前面有三个室,其中最大的一个是瘤胃。由于在解剖上不同于其他普通反刍动物的瘤胃,里面有许多肌肉带,而这些肌肉带可以把瘤胃分隔成几
(1)气体分析取样管10m。 (2)压力在50Pa以内30m。 (3)其他压力导压管路50m。
(1)气体分析取样管10m。 (2)压力在50Pa以内30m。 (3)其他压力导压管路50m。