三层应用客户端的问题(100分)

  • 主题发起人 主题发起人 yihui
  • 开始时间 开始时间
Y

yihui

Unregistered / Unconfirmed
GUEST, unregistred user!
A 机 : win2000 server,在不同目录安装了Delphi6 和 Delphi 7
B 机 : win98
应用服务器中有提供一个服务,返回一个状态信息
procedure TYhAppSvr.DBChk(var IsReady: OleVariant);
begin
IsReady:=DbConnected;
end;

客户端
Ready:Variant;
...
frmClient.DCOMConn.Connected:=true;
...
frmClient.DCOMConn.AppServer.DBChk(Ready);
if (Not Ready) then
begin
Application.MessageBox('DBChk=false!', '提示信息', mb_iconInformation + mb_defbutton1);
exit;
end;

现在在 A 机上运行 server ,后运行 客户端,一切正常
在 B 机上运行 客户端 , DCOMConn连接正常,
但 DBChk(Ready);
总是返回 False ?
整了一上午,不知道是什么原因,?会不会和 midas.dll 文件有关?
 
也不完全这样判断你把midas.dll 注册一下看.
 
ready定义为OleVariant
 
注册了,也不行
好像客户端只需要 midas.dll 拷贝到/windows/system 目录就可以了呀
 
是Windows/system32目錄下
 
照这样:
记住客户端windows登陆的用户和密码存在于服务器的用户和组中
客户端用regsvr32注册midas.dll.
在客户端运行应用服务器。然后重新启动客户端。
 
谢谢各位
是Windows/system32目錄下
记住客户端windows登陆的用户和密码存在于服务器的用户和组中
客户端用regsvr32注册midas.dll
都作了.
在客户端运行应用服务器。???
不过也作了
还是美解决///
 
你把你的源码发给我,我帮你分析一下。
email:liuyang19830113@163.net
 
解决了
win98 下只需要拷贝 midas.dll到系统目录执行client即可
win2000下还是dcom设置的问题.
这是以前的一个铁子:
1. 运行NT服务器上的dcomcnfg程序,进行DCOM配置。
2. 进入DCOM的总体默认属性页面,将“在这台计算机上启用分布式COM”打上勾,将默认身份级别改为“无”。
3. 进入DCOM的总体默认安全机制页面,确认默认访问权限和默认启动权限中的默认值无EveryOne,如果不去掉EveryOne,应用服务器不能正常启动。
4.在常规页面中,双击你的应用服务器,打开你的应用服务器DCOM属性设置。
5.将常规页面中的身份验证级别改为“无”。
6.位置页面中选上“在这台计算机上运行应用程序”。
7.将安全性页面设置中,均选择“使用自定义访问权限”,编辑每一个权限,将EveryOne加入用户列表中。
8.身份标识页面中,选择“交互式用户”。
9.NT的GUEST用户不能禁用。
Guest禁用也可以.
 
后退
顶部