怎么调试一个ActiveX组件(100分)

  • 主题发起人 主题发起人 uncarman
  • 开始时间 开始时间
U

uncarman

Unregistered / Unconfirmed
GUEST, unregistred user!
用Delphi编写一个ActiveX Dll,又编写了一个WinForm应用进行调试,无论是在DLL的工程中选择菜单Run/Parameters...还是在Test工程中断点,都无法进入接口方法的实现代码,怎么办?
接口如下声明
ICardComm = interface(IUnknown)
['{FEF01CF3-4ADF-4595-A4EC-1DDAE7B3FD85}']
function ValidateUser(var empInfo: TEmpInfo): Integer
stdcall;
function FillValue(money: Integer
var totalMoney: HResult): Integer
stdcall;
function OpenComm: Integer
stdcall;//调用此方法出错
function CloseComm: Integer
stdcall;
end;

实现代码如下
//进入此实现代码之前已出错,提示无效的Integer Value
function TCardComm.OpenComm: Integer;
var
strPort: string;
icdev: Integer;
begin
strPort := Trim(GetConfigString('System', 'CardPort', ''));
strPort := RightStr(strPort, 1);
icdev := OpenCardComm(StrToInt(strPort));
if icdev <= 0 then
Result := -1
else begin
FICdev := icdev;
Result := 0;
end;
end;

调用代码如下
procedure TForm1.Button1Click(Sender: TObject);
var
iRes: Integer;
empInfo: TEmpInfo;
begin
iRes := CardComm1.OpenComm //这行代码出错,提示无效的Integer Value
if iRes < 0 then begin
ShowMessage('Open Comm error!');
Exit;
end;
CardComm1.CloseComm

end;
请高手指点。
 
我已解决此问题[8D]
 
后退
顶部