关于TDCOMConnection的ServerName的问题(50分)

  • 主题发起人 主题发起人 阿韬
  • 开始时间 开始时间

阿韬

Unregistered / Unconfirmed
GUEST, unregistred user!
我想请问一下大家这个TDCOMConnection的ServerName属性是不是一定是通过下拉选择的,
不能自己输入。
因为我碰到这样一个问题。我在机器A中编写服务器程序和客户端程序,服务器程序运行后
系统自动注册了,然后在客户端程序的设计时在TDCOMConnection中的ServerName的下拉选
项里面就可以选择该服务器程序。然后一切运行正常。
可是我将服务器程序和客户机程序放在两台机器中开发的时候,比如机器A中开发服务器
程序,然后运行。在机器B中开发客户端程序,那么此时客户端程序的TDCOMConnection控件
的ServerName是无法在下拉里面选择服务器端程序的,在客户端程序的TDCOMConnection控
件的ComputerName属性里面指明机器A后,也不能找到。结果客户端程序就不能运行。
我应该怎么做,请问我哪里做错了?
 
不要难过,这是Delhpi的问题,目前的解决方法:
将服务器程序拿到要开发客户端程序的机子上运行一遍即可,
注意最后将ComputerName属性里面指明机器A.
 
可是我在客户端机器B 上运行的时候报错是 拒绝访问 。请问是哪里错了,是不是我的
服务器端机器A的dcomcnfg没有配置好的原因。究竟应该怎么来配置。
 
不会吧,服务端有没有连接数据库?应该不是Dcom配置的问题。
 
就是Dcom配置的问题。
在服务器端机器A的dcomcnfg中的用户权限设置中都添加上Everyone和Domain Users.
 
同意lillxu的观点,很大程度上是DCom配置问题
 
我把everyone加上客户端运行的时候还是提示拒绝访问。
我是在机器A的分布式COM配置属性的默认安全机制里面将默认访问权限、默认启动权限、
默认配置权限都加上了everyone。
然后在应用程序页签里面选择了这个服务器应用程序,点击其属性然后在它的身份标识
页签选择了交互式用户。
我这样设置对吗?可是这样设了还是出现拒绝访问。但是机器A的服务器端程序已经被自动
启动,客户端报错为拒绝访问。这是为什么?
 
怎么没有人回答我呀,还是拒绝访问呀。
 
我也遇到这样的问题,我也想听听高手的高见。
 
是DCOM配置问题,年李维的书就行了
 
我也是这样设置的,可以呀,重新启动计算机,别忘了首先确保客户端计算机要登录到服务器计算机上。
如果分发的还要把服务器上的DELPHI下的MIDAS.DLL复制到客户机的系统目录下。
参照李维的《DELPHI分布式多层应用系统篇》应该可以搞定。
 
我也有此wt!
 
你的服务器如果是win9x,应该登陆到域服务器,网络属性也要由共享级改为用户极
 
我发现当服务器和客户端不在一个域里,按上面对DCOM配置可以实现,
但如果在一个域里面却不幸;请各位小虾参与讨论;
 
我正面临此问题,急呀急呀急呀急呀急呀急呀
 
在下也曾碰到过此问题,但在WIN98内按李维的书可以解决,但在WIN2K内却有问题,
而且连错误提示都没有,请教各位大虾。
 
〉我想请问一下大家这个TDCOMConnection的ServerName属性是不是一定是通过下拉选择的,
〉不能自己输入。
我的经验:
1)server name可以自己手工填写,填完之后,如果GUID自动出现,则OK,否则error。
2)不要使用下列方法,虽然很多书上这样写:
*指定computer name,然后希望server name列出指定的computer上的组件。
为何该法不可取呢,关键就在那个该死的computer name上,假如组件的位置改变了,你的
程序也就over了(谁让你把“可以改变”的东西写成固定的值呢)。
3)正解如下:
在客户机上注册组件(MTS自动注册程序或者regsvr32)。
使用dcomcnfg.exe(win98 ver1,nt/2000),找到你的组件,选择“属性”,在标签页的
第三页,选择“在下列计算机上运行”,然后指定机器名。
这样做的好处是:无需改动程序代码,只改变dcom配置即可。
4)测试通过,我的项目就是如此。
 
阿韬:如果你还要继续讨论请定期提前你的帖子,如果不想继续讨论请结束帖子。
请认真阅读大富翁论坛规则说明 http://www.delphibbs.com/delphibbs/rules.htm
 
to 贝那雷斯 ,你说的用dcomcnfg.exe配置是在客户端配置对吗?
 
后退
顶部