delphi中的部分代码:
function TTalk.Init(bAddr: SYSINT; const strHostIP, strLocalIP, strUser,
  strPass: WideString): WideString;
begin
  //CoInitialize(nil); 加上也无效
  MyCom := TEterm.create;
  try
    Result := MyCom.Init((bAddr = 1), strHostIP, strLocalIP, strUser, strPass);
  except
    Result := 'Error Create';
  end;
end;
function TTalk.Get_Session: SYSINT;
begin
  if Assigned(MyCom) then
    Result := MyCom.Session
  else
    Result := 0;
end;
C#中调用:
ITalk MyEterm=new TalkClass();
MessageBox.Show(MyEterm.Session.ToString());
string Tmp=MyEterm.Init(0,"10.6.168.108","10.143.66.2","cqky10","b");//出错了
MessageBox.Show(Tmp);
MessageBox.Show(MyEterm.GetResult("da",1,1));不知道啥子原因啊?请高手指教

解决方案 »

  1.   

    今天还听微软的讲师说他也没做过delphi组件的调用呢.
      

  2.   

    我用的delphi7,通过“添加引用”添加的Com组件问题描述我在一楼就说了啊
      

  3.   

    你在元件服务中添加了你用delphi写的com组件
      

  4.   

    注册了没有?在确保这个COM没有问题的情况下检查类名是否正确还有TalkClass MyEterm=new TalkClass();应该就行了,不用ITalk
      

  5.   

    还是不行,估计是MyCom := TEterm.create;的问题因为在WebServices里面我动态创建了对象的。但是不知道怎么解决
      

  6.   

    说错了,是在Com里面,不是Webservices