我正在学习在com下的编程.
我建立了两个简单的程序:
服务端程序建立了"typelibrary"和"AutomationObject"
客户端如下;
procedure TForm1.Button1Click(Sender: TObject);
var
MyObject:IUnknown;
const
x: TGUID = '{27C3AAB8-2D73-4B4C-996F-F7E4BC117671}';
begin
MyObject:=CreateRemoteComObject('Yhy',x);
try
showmessage('ddd');finallyend;
end;在同一台机器上测试没有问题,
可是如果把客户端放到另一台机器上时只要一点击button就会提示"拒绝访问"不知为什么,请大家帮帮忙?
我建立了两个简单的程序:
服务端程序建立了"typelibrary"和"AutomationObject"
客户端如下;
procedure TForm1.Button1Click(Sender: TObject);
var
MyObject:IUnknown;
const
x: TGUID = '{27C3AAB8-2D73-4B4C-996F-F7E4BC117671}';
begin
MyObject:=CreateRemoteComObject('Yhy',x);
try
showmessage('ddd');finallyend;
end;在同一台机器上测试没有问题,
可是如果把客户端放到另一台机器上时只要一点击button就会提示"拒绝访问"不知为什么,请大家帮帮忙?
是不是在dcomcnfg中设置啊(我已经设置好了)?有些贴好象是说要在客户端注册个dll可我的成序就没有涉及到dll?
检查一下
1.客户端的用户名称是否在服务器的COM角色中有激活权限
2.用UNC路径访问一下服务器(\\servername\c$),很可能没有权限
以上第2条登陆时用你在Servername建立的用户名与密码
试过啦!没问题.
我以前曾做过一个midas的程序运行正常.我想midas也是通过com啊!
是不是在客户端注册个什么东西?因为用midas时需要注册midas.dll.
谢谢!
当然要导出一个代理安装到客户端啦~
-------------------------------
能给详细讲讲吗?怎样导出一个代理啊?
谢谢!
我用的是windows2000
另外服务器上访问权限、启动权限中需要增加匿名的访问(anonymous logon),
----------------------------------------------------------------------
在什么地方设置是在dcomcnfg中吗?
没有(anonymous logon)这样一个用户阿(wondows2000)!
我该增加什么呢?
Windows2000的话,主要增加EveryOne就可以了
如你所说我已经照做了可又出现这样的提示"Interface not supported"
请问我该怎么改?谢谢!