起步软件技术论坛-X3

 找回密码
 立即注册
搜索
123
返回列表 发新帖
楼主: 枣庄矿务局

【搞定】有关导入第三方组件的问题

[复制链接]
发表于 2004-5-12 08:50:23 | 显示全部楼层
看下图代码知道
  pKeyproData=^KEYPRODATA;

5.jpg

10.35 KB, 下载次数: 230

回复 支持 反对

使用道具 举报

发表于 2004-5-12 08:53:54 | 显示全部楼层
在任何一个函数中,打单元名KeyproU.通过code insight来看函数头信息

procedure KEYPRO (ptr: pKeyproData);

(这里同样可以看到楼上的类型是正确的)

6.jpg

43.38 KB, 下载次数: 208

回复 支持 反对

使用道具 举报

发表于 2004-5-12 09:01:12 | 显示全部楼层
根据上面的信息,可以定义一个新的单元,在这个单元的interface部分,定义上面的类型和函数头,在implementation部分引用KeyproU单元,然后实现函数部分调用KeyproU单元的函数来实现。

unit Unit2;

interface

type
  pKeyproData=^KEYPRODATA;
  KEYPRODATA=record
    ReturnFlag: Word;
    FunctionCode: Word;
    MemAddress: Word;
    Password0: Word;
    Password1: Word;
    MemContent: Word;
    Lock0: Word;
    Lock1: Word;
    Reserved: array[0..31] of Word;
  end;

procedure KEYPRO (ptr: pKeyproData);

implementation

uses
  KeyproU;

procedure KEYPRO (ptr: pKeyproData);
begin
  KeyproU.KEYPRO(KeyproU.pKeyproData(ptr));
end;

end.
回复 支持 反对

使用道具 举报

发表于 2004-5-12 09:03:46 | 显示全部楼层
在TKeypro1单元中,取消uses中的KeyproU,增加新作单元的引用

7.jpg

16.63 KB, 下载次数: 207

回复 支持 反对

使用道具 举报

发表于 2004-5-12 09:07:01 | 显示全部楼层
至此,就结束了为一个dcu文件生成源文件的工作!!!
看明白了吗?
回复 支持 反对

使用道具 举报

发表于 2004-5-12 09:14:47 | 显示全部楼层
其实,如果只是上面这个文件的话,有一个非常简单的方法,简单的不得了:

因为在单元头(implementation之前部分)没有用到KeyproU单元的任何东西,所以只要在implementation之后,引用这个单元就可以了,在implementation之后引用的单元不需要源代码。

8.jpg

50.54 KB, 下载次数: 205

回复 支持 反对

使用道具 举报

发表于 2004-5-12 11:30:24 | 显示全部楼层
我已经试过了第二种方法,可以生成bpl和dll文件,但引用后,在工具栏中没有显示。后来,我就直接引用那个命名空间,然后在实现部分定义一个类的对象,并创建这个类的实例,最后用这个对象再调用其中方法就可以了,请问这是什么原因?
回复 支持 反对

使用道具 举报

发表于 2004-5-12 11:30:59 | 显示全部楼层
图片1

error1.jpg

7 KB, 下载次数: 108

回复 支持 反对

使用道具 举报

发表于 2004-5-12 11:31:35 | 显示全部楼层
图片2

error2.jpg

14.14 KB, 下载次数: 107

回复 支持 反对

使用道具 举报

发表于 2004-5-12 11:48:00 | 显示全部楼层
控件需要注册才可以在工具栏上显示
在单元中,定义一个Register过程,在这个过程中调用RegisterComponents来注册控件
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2024-5-4 02:26 , Processed in 0.052288 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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