com+不能返回正确值的问题?
首先声明的是因Delphi版的人实在是太少了,所以将贴子发在c#版讨论,这个没有语言上的差异,进入正题: 
 用Delphi写了一个COM+的类库,注册在Windows2003上,函数的返回值不正确,在本机(WindowsXP   SP2)上测试,可以返回正确的值.COM+类库如下: 
 unit   Uint_ComServer; 
 {$WARN   SYMBOL_PLATFORM   OFF}   
 interface   
 uses 
       ActiveX,   Mtsobj,   Mtx,   ComObj,   ComServer_TLB,   StdVcl;   
 type 
       TDComServer   =   class(TMtsAutoObject,   IDComServer) 
       protected 
             function   GetInteger:   SYSINT;   safecall; 
             function   GetString:   WideString;   safecall;   
       end;   
 implementation   
 uses   ComServ;   
 function   TDComServer.GetInteger:   SYSINT; 
 begin 
          Result   :=   1234; 
 end;   
 function   TDComServer.GetString:   WideString; 
 begin 
             Result   :=    'Return   String. '; 
 end;   
 initialization 
       TAutoObjectFactory.Create(ComServer,   TDComServer,   Class_DComServer, 
             ciMultiInstance,   tmApartment); 
 end.   
 在本机测试都可以返回正确的值,用服务器测试,GetInteger返回的是0,GetString返回的是空字符串.是什么原因呢?
------解决方案--------------------沙发,帮忙顶
------解决方案--------------------没学过Deplphi的语法..帮顶   
 本机测试正常,你拿到别的机上测试保证系统和SP都一样话,还是会出问题的话就应该是调用的方法的问题
------解决方案--------------------返回类型不用string,用byte[]。 
 44,我在c#调用c++时都是这样。
------解决方案--------------------权限问题
------解决方案--------------------服务里面的COM+ System Application和COM+ Event System是否已经开启