为何客户端的程序不能调用服务端的mts/com+组件(100分)

  • 主题发起人 主题发起人 tomwld
  • 开始时间 开始时间
T

tomwld

Unregistered / Unconfirmed
GUEST, unregistred user!
谁知道“RunAs格式必须是<用户名>/<域名>或<用户名>”错误发生的原因是什么
 
你提供的信息太少了,请详细一点
不然没有办法分析啊
 
很简单的代码,服务端用transaction object做的,只有一个方法,代码如下:
unit uExam1;
{$WARN SYMBOL_PLATFORM OFF}
interface
uses
ActiveX, Mtsobj, Mtx, ComObj, PExam1_TLB, StdVcl;
type
TmtsExam1 = class(TMtsAutoObject, ImtsExam1)
protected
function GetMessage: WideString;
safecall;
{ Protected declarations }
end;

implementation
uses ComServ;
function TmtsExam1.GetMessage: WideString;
begin
Result:='Returned from server';
end;

initialization
TAutoObjectFactory.Create(ComServer, TmtsExam1, Class_mtsExam1,
ciMultiInstance, tmApartment);
end.

客户端如此调用:
procedure TForm1.Button1Click(Sender: TObject);
var MessageObj:ImtsExam1;
begin
MessageObj:=comtsExam1.CreateRemote('TOMWLD');
Label1.Caption :=MessageObj.GetMessage;
end;

在我的机子可以运行,但复制到别人的机子上就不可以,
在组件服务里我也已经设置了,在客户端也安装了了导出文件,但是会出现如上的错误
 
尝试一下在新的客户端运行一下服务程序
用于在客户端注册一下服务程序
 
to xiaolinj79:我做的是com+的程序,和dcom的不同,不能在客户端运行服务程序,而且服务程序是一个.dll文件
 
权限设置不对
 
问题是怎样设置才可以呢,我也想到是设置的问题,可我试了多种方案都不行的
 
各位做过com+的高手帮个忙呀
 
这个分我得了,,^_^
在com+管理器(控制面板,组件服务,com+应用程序)
中选择你写的组件,点右键(选择属性里面可以设置权限),选择导出,后面的
照提示做就可以了,
 
搞错。。有人回答了。没看。。sorry
 
我也遇到这样的问题,虽然安装了“导出的组件”,但还是不行,提示说“interface not support”,是什么地方权限设置吗?指定使用者?已经都设置为administrator都没用!
 
要在调用的机器上注册一下
 
客户机登陆名,密码必须和服务器一致
 
后来使用了服务器上的administrator用户名及口令,的确是可以了,但关键是如何允许各种身份连接呢?是不是用“角色”就可以了?
 
应该不行,我也没找到好方法。
实在不行用WEBCONNECTTION或SOCKETCONNECTION连接,不用CreateRemote
 
后退
顶部