为什么我在Type Library中定义了两个类接口,但是在注册的时候只能注册一个呢? (100分)

  • 主题发起人 主题发起人 zulu
  • 开始时间 开始时间
Z

zulu

Unregistered / Unconfirmed
GUEST, unregistred user!
其部分代码如下:

TGgSqDll = class(TAutoObject, IGgSqDll)
private
GgDq,GgDqBs,GgMq,GgMqBs,BwLxS,BwHdS,BhLxS,BhHdS,BhMqLx,BhMqBs:String;
protected
procedure CreateFrmMethod; safecall;
procedure ShowModalMethod; safecall;
function Get_GgDq: WideString; safecall;
function Get_GgMq: WideString; safecall;
procedure Set_GgDq(const Value: WideString); safecall;
procedure Set_GgMq(const Value: WideString); safecall;
function Get_BwLx: WideString; safecall;
procedure Set_BwLx(const Value: WideString); safecall;
function Get_BwHd: WideString; safecall;
procedure Set_BwHd(const Value: WideString); safecall;
function Get_BhLx: WideString; safecall;
procedure Set_BhLx(const Value: WideString); safecall;
function Get_BhHd: WideString; safecall;
procedure Set_BhHd(const Value: WideString); safecall;
function Get_BhMqLx: WideString; safecall;
procedure Set_BhMqLx(const Value: WideString); safecall;
function Get_BHMqBs: WideString; safecall;
procedure Set_BHMqBs(const Value: WideString); safecall;
function Get_GgDqBs: WideString; safecall;
function Get_GgMqBs: WideString; safecall;
procedure Set_GgDqBs(const Value: WideString); safecall;
procedure Set_GgMqBs(const Value: WideString); safecall;
end;

TTfSqDll = class(TAutoObject, ITfSqDll)
private
TfDq,TfDqBs,TfMq,TfMqBs,TfBwLx,TfBwHd,TfBhLx,TfBhMqLx,TfBhMqBs,TfXgDq,TfXgDqBs:String;
TfXgMq,TfXgMqBs:String;
protected
procedure CreateFrmMethod; safecall;
procedure ShowModalMethod; safecall;
function Get_DqLx: WideString; safecall;
procedure Set_DqLx(const Value: WideString); safecall;
function Get_DqBs: WideString; safecall;
procedure Set_DqBs(const Value: WideString); safecall;
function Get_MqLx: WideString; safecall;
procedure Set_MqLx(const Value: WideString); safecall;
function Get_MqBs: WideString; safecall;
procedure Set_MqBs(const Value: WideString); safecall;
function Get_BwLx: WideString; safecall;
procedure Set_BwLx(const Value: WideString); safecall;
function Get_BhLx: WideString; safecall;
procedure Set_BhLx(const Value: WideString); safecall;
function Get_BhMqLx: WideString; safecall;
procedure Set_BhMqLx(const Value: WideString); safecall;
function Get_BhMqBs: WideString; safecall;
procedure Set_BhMqBs(const Value: WideString); safecall;
function Get_XgDqLx: WideString; safecall;
procedure Set_XgDqLx(const Value: WideString); safecall;
function Get_XgDqBs: WideString; safecall;
procedure Set_XgDqBs(const Value: WideString); safecall;
function Get_XgMqLx: WideString; safecall;
procedure Set_XgMqLx(const Value: WideString); safecall;
function Get_XgMqBs: WideString; safecall;
procedure Set_XgMqBs(const Value: WideString); safecall;
end;
implementation

uses ComServ,GgSyBw,TfSqBw;

其中TGgSqDll是我在新建向导中建的,TTfSqDll是我在Type Library编辑界面中增加的。
 
应该是自动分配的ID的原因,可能你这两个类的ID相同,就只能注册上一个了
 
应该是你的名称相同..所以..它只认了一个
 
后退
顶部