我自己用VC++6做的一个ActiveX控件,导入Delphi6后为什么参数少了一个??? ( 积分: 50 )

  • 主题发起人 主题发起人 apolloone
  • 开始时间 开始时间
A

apolloone

Unregistered / Unconfirmed
GUEST, unregistred user!
1. 我将该控件导入(Import ActiveX Controls。。。)到Delphi6中,并且Create Unit,在../Import/SNMPXLib_TLB.pas 这个文件中,我发现参数都是对的,如下:
procedure EnumSlotExist(var AgentID: WideString
var AgentIP: WideString

SlotChassisIndex: Integer
SlotIndex: Integer
SlotType: Integer

var SlotModel: WideString
var SlotName: WideString

SlotNumberOfPorts: Integer
var SlotHardwareRevision: WideString

SlotOperationType: Integer
var SlotSN: WideString
PortLink3: Integer)
dispid 12;
----------------------------------------------------------
2. 但是,当我创建一个应用,并且将该控件放到Form上面,然后双击"Object Inspector"中的对用事件“OnEnumSlotExist”时
procedure TForm1.FuxinsnmpX1EnumSlotExist(Sender: TObject
var AgentID,
AgentIP: WideString
SlotChassisIndex, SlotIndex, SlotType: Integer;
var SlotModel, SlotName: WideString
SlotNumberOfPorts: Integer;
var SlotHardwareRevision: WideString
SlotOperationType: Integer;
var SlotSN: WideString)
//---->>>>>这里少了一个参数“PortLink3” ???不知道为什么??
begin
end;
----------------------------------------------------------
3. 如果我手工将参数“PortLink3”加入到该过程(procedure EnumSlotExist)中,程序在编译的时候会提示“参数列表不符”, 但是程序还是可以执行,而且返回回来的PortLink3参数值还是正确的!!!
 
1. 我将该控件导入(Import ActiveX Controls。。。)到Delphi6中,并且Create Unit,在../Import/SNMPXLib_TLB.pas 这个文件中,我发现参数都是对的,如下:
procedure EnumSlotExist(var AgentID: WideString
var AgentIP: WideString

SlotChassisIndex: Integer
SlotIndex: Integer
SlotType: Integer

var SlotModel: WideString
var SlotName: WideString

SlotNumberOfPorts: Integer
var SlotHardwareRevision: WideString

SlotOperationType: Integer
var SlotSN: WideString
PortLink3: Integer)
dispid 12;
----------------------------------------------------------
2. 但是,当我创建一个应用,并且将该控件放到Form上面,然后双击"Object Inspector"中的对用事件“OnEnumSlotExist”时
procedure TForm1.FuxinsnmpX1EnumSlotExist(Sender: TObject
var AgentID,
AgentIP: WideString
SlotChassisIndex, SlotIndex, SlotType: Integer;
var SlotModel, SlotName: WideString
SlotNumberOfPorts: Integer;
var SlotHardwareRevision: WideString
SlotOperationType: Integer;
var SlotSN: WideString)
//---->>>>>这里少了一个参数“PortLink3” ???不知道为什么??
begin
end;
----------------------------------------------------------
3. 如果我手工将参数“PortLink3”加入到该过程(procedure EnumSlotExist)中,程序在编译的时候会提示“参数列表不符”, 但是程序还是可以执行,而且返回回来的PortLink3参数值还是正确的!!!
 
如果我手工将参数“PortLink3”加入到该过程(procedure EnumSlotExist)中,程序在编译的时候会提示“参数列表不符”, 但是程序还是可以执行,而且返回回来的PortLink3参数值还是正确的!!!
 
后退
顶部