起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 130|回复: 3

如何在 X3 平台中引入外部控件[请求]**

[复制链接]
发表于 2009-3-11 16:18:41 | 显示全部楼层 |阅读模式
生成“接口包文件”.bpl
在Delphi中,在原来的包文件.dpk中增加步骤二生成的_tlb.pas文件

我的_tlb.pas不是通过选择“Component | Import ActiveX Control”,“Add”控件文件(.dll或.ocx文件),“Create Unit”生成类型声明文件_TLB.pas写的,而是直接新建一个单元文件写的,代码如下
unit RBSPAdapter;

interface
uses
  SysUtils, Variants, Classes,Controls,
  Dialogs, StdCtrls,ActiveX;

implementation
procedure __free(l :TList ); stdcall; external 'RBSPAdapter.dll'name '__free';
function QueryCustom(const service,queryCondition: PChar; var success: boolean): TList; stdcall; external 'RBSPAdapter.dll' name 'QueryCustom';

end.

这样打包起来生成的BPL应该不会有问题吧
回复

使用道具 举报

发表于 2009-3-11 16:30:18 | 显示全部楼层
只要代码没问题就可以。
你可以用delphi写一个测试程序,用你的这个接口文件,如果调用都正常就可以了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-3-11 16:43:11 | 显示全部楼层
在DLEPHI上测试了没有问题,),通过“Create Unit”生成类型声明文件_TLB.pas和我直接创建的新单元_TLB.PAS有什么区别没
回复 支持 反对

使用道具 举报

发表于 2009-3-11 16:43:54 | 显示全部楼层
最好给平台调用的时候,不要给很奇怪的类型。比如楼上那个tlist我不敢肯定没问题。
你可以在接口单元再包装一下dll的函数,让他返回的值是很普通的类型,比如string等。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-24 11:47 , Processed in 0.042508 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表