Z zengsun Unregistered / Unconfirmed GUEST, unregistred user! 2002-12-14 #1 我的MTS组件在本机调用没有问题,但在其他机器上提示:interface not support 我的组件借口已经是IUnknown了。
B berserk Unregistered / Unconfirmed GUEST, unregistred user! 2002-12-14 #3 那是因为你没有在那台机子上注册你的代理,你用COM SERVICE上右点击你的COM组服务, 上面有个导出,你一步步来,再选导出文件时,你选择导出客户端就可以了,然后把导出 东东在客户端的机子上安装一下就可以了.
那是因为你没有在那台机子上注册你的代理,你用COM SERVICE上右点击你的COM组服务, 上面有个导出,你一步步来,再选导出文件时,你选择导出客户端就可以了,然后把导出 东东在客户端的机子上安装一下就可以了.
Z zlwnet Unregistered / Unconfirmed GUEST, unregistred user! 2002-12-14 #4 我的这个控件会出现提示 少了 Dsgnintf.dcu 文件,为什么??
S Sachow Unregistered / Unconfirmed GUEST, unregistred user! 2002-12-15 #5 这和接口无关,而是由于你的计算机没有权限调用组件的原因。最简单的办法就是把两台机 上都建立相同的用户名和密码,客户机就此用户名和密码登录服务器就可以了。较好的办法 是将服务器建立为主域控制器,将客户机登录到此域中,这样在客户机修改账户密码时密码 是与服务器上的同步的,而前一种方法下,客户端修改了账户密码后就会又调用不了组件了。
这和接口无关,而是由于你的计算机没有权限调用组件的原因。最简单的办法就是把两台机 上都建立相同的用户名和密码,客户机就此用户名和密码登录服务器就可以了。较好的办法 是将服务器建立为主域控制器,将客户机登录到此域中,这样在客户机修改账户密码时密码 是与服务器上的同步的,而前一种方法下,客户端修改了账户密码后就会又调用不了组件了。
Z zengsun Unregistered / Unconfirmed GUEST, unregistred user! 2002-12-16 #6 to berseark: 我按照你说的方法试了一下,导出是成功了。但是在其它机器上安装失败了。 提示:error registering COM+ Application Contact your support personel for more information. 我的COM+组件是注册在WIN2000 Professional上。 to Sachow: 你的方法我暂时没有条件测试,没有要求宽松点的吗?要两台机器上都用相同 的用户登录,我这里的条件作起来不容易。不可以赋权限吗?
to berseark: 我按照你说的方法试了一下,导出是成功了。但是在其它机器上安装失败了。 提示:error registering COM+ Application Contact your support personel for more information. 我的COM+组件是注册在WIN2000 Professional上。 to Sachow: 你的方法我暂时没有条件测试,没有要求宽松点的吗?要两台机器上都用相同 的用户登录,我这里的条件作起来不容易。不可以赋权限吗?
S Sachow Unregistered / Unconfirmed GUEST, unregistred user! 2002-12-16 #7 问题1: 删除目标机器上原有的同名组件; 将Midas.dll复制到目标机器上(WinNT/System32目录下)并使用regsvr32注册; if (导出类型 == 应用服务器){ if (你的系统使用了BDE) 在目标机器上安装BDE; } 问题二: 根据我的经验,在COM+系统中,不这样做是不行的,但DCOM似乎要宽松一点。麻烦一点,带 来的是更高的安全性。如果你的系统对安全性没有多少要求,可以尝试使用TSocketConnection 连接服务器,详细情况请在论坛中搜索“SocketConnection”关键字。
问题1: 删除目标机器上原有的同名组件; 将Midas.dll复制到目标机器上(WinNT/System32目录下)并使用regsvr32注册; if (导出类型 == 应用服务器){ if (你的系统使用了BDE) 在目标机器上安装BDE; } 问题二: 根据我的经验,在COM+系统中,不这样做是不行的,但DCOM似乎要宽松一点。麻烦一点,带 来的是更高的安全性。如果你的系统对安全性没有多少要求,可以尝试使用TSocketConnection 连接服务器,详细情况请在论坛中搜索“SocketConnection”关键字。
Z zengsun Unregistered / Unconfirmed GUEST, unregistred user! 2002-12-18 #8 to Sachow; 你说的第一个方法,我已经试过了,但是结果是一样的。我还是没有办法远程调用 MTS组件。 后来我又在客户机器的组件服务里加上了有MTS组件的那台机器,在里面可以看到 我要得MTS组件,但是运行客户端程序的结果一样让人失望。 我又在组件中添加了角色,结果是连本地调用都不行了。提示:拒绝访问。 远程调用的错误提示也一样。 太郁闷了!大哥你有何良方? []我……
to Sachow; 你说的第一个方法,我已经试过了,但是结果是一样的。我还是没有办法远程调用 MTS组件。 后来我又在客户机器的组件服务里加上了有MTS组件的那台机器,在里面可以看到 我要得MTS组件,但是运行客户端程序的结果一样让人失望。 我又在组件中添加了角色,结果是连本地调用都不行了。提示:拒绝访问。 远程调用的错误提示也一样。 太郁闷了!大哥你有何良方? []我……
S Sachow Unregistered / Unconfirmed GUEST, unregistred user! 2002-12-18 #9 是不是服务器端的接口和客户端的不一致导致的,比如说服务器端已经修改了组件对象方法 的接口,但客户端并没有更新注册,同样会导致Interface not supported的错误。我原来 就遇到过这种情况。 如果不是这个问题,你按以下步骤尝试: 1、检测你的COM+组件是否已经正确安装到目标服务器的COM+环境中(COM+组件的标识->账户 设置中选“交互式用户”); 2、在服务器上建立用户MyCompCaller,密码为1234; 3、在客户机上建立用户MyCompCaller,密码为1234; 4、客户机注销当前Windows登录,并用用户MyCompCaller登录Windows; 5、调用组件。
是不是服务器端的接口和客户端的不一致导致的,比如说服务器端已经修改了组件对象方法 的接口,但客户端并没有更新注册,同样会导致Interface not supported的错误。我原来 就遇到过这种情况。 如果不是这个问题,你按以下步骤尝试: 1、检测你的COM+组件是否已经正确安装到目标服务器的COM+环境中(COM+组件的标识->账户 设置中选“交互式用户”); 2、在服务器上建立用户MyCompCaller,密码为1234; 3、在客户机上建立用户MyCompCaller,密码为1234; 4、客户机注销当前Windows登录,并用用户MyCompCaller登录Windows; 5、调用组件。
Z zengsun Unregistered / Unconfirmed GUEST, unregistred user! 2002-12-18 #10 谢谢,我终于调用成功。 但是,要调用MTS组件的话,所有客户端都要用相同的名字登录系统 这好像不太可能。如何解决? 大哥,你真是好人呀[]
S Sachow Unregistered / Unconfirmed GUEST, unregistred user! 2002-12-18 #11 不是每个客户端都要使用相同的名字登录系统,如果你愿意的话,可以在服务器端为每个使 用者建立一个用户,让他使用此用户名登录Windows,但是这样存在密码维护的问题,即:你 为每个使用者定的密码都有个初始值(比如1234),但使用者会希望修改他的用户密码,但 当他的Windows登录到本机上时,修改密码后服务器并不知道,所以又会造成调用失败,因此 应该把服务器设置为域控制器,客户端每次登录到此域中以后再运行程序,这样当用户修改 密码时,服务器端的用户密码也会同步,就不会造成用户修改密码后又不能调用组件的情况了。
不是每个客户端都要使用相同的名字登录系统,如果你愿意的话,可以在服务器端为每个使 用者建立一个用户,让他使用此用户名登录Windows,但是这样存在密码维护的问题,即:你 为每个使用者定的密码都有个初始值(比如1234),但使用者会希望修改他的用户密码,但 当他的Windows登录到本机上时,修改密码后服务器并不知道,所以又会造成调用失败,因此 应该把服务器设置为域控制器,客户端每次登录到此域中以后再运行程序,这样当用户修改 密码时,服务器端的用户密码也会同步,就不会造成用户修改密码后又不能调用组件的情况了。
Z zengsun Unregistered / Unconfirmed GUEST, unregistred user! 2002-12-18 #12 我不明白,在COM+组件的标识->账户 设置中选“交互式用户”,只能是一个用户啊,其他的用户就没有权限和 COM+互交,不是吗?[]
S Sachow Unregistered / Unconfirmed GUEST, unregistred user! 2002-12-18 #13 你理解反了。如果选“此用户”并设置用户名和密码后,才是只允许选中的用户使用,不允 许其它用户使用。
风 风花雪叶 Unregistered / Unconfirmed GUEST, unregistred user! 2002-12-18 #14 zengsun的方法我试成功了,用代理可以实现[],但这方法不可取,不可能每台客户机都要装代理,如果改了com 又要在安装com代理
Z zengsun Unregistered / Unconfirmed GUEST, unregistred user! 2002-12-18 #15 啊,天哪! 我又不行了。开始我用“此用户”,结果在客户机上调用成功了。 我改成“互交式用户”后,客户机报告错误:interface not support!!! 我又改回来,可是程序还是报错:interface not support。 注销,重起N次未果。重新注册组件N次未果。 看来还是有问题。[] 服务器不是我一个人用,我不能重起。只好等明天了。 非常谢谢Sachow和来参予的各位。希望明天可以结贴。
啊,天哪! 我又不行了。开始我用“此用户”,结果在客户机上调用成功了。 我改成“互交式用户”后,客户机报告错误:interface not support!!! 我又改回来,可是程序还是报错:interface not support。 注销,重起N次未果。重新注册组件N次未果。 看来还是有问题。[] 服务器不是我一个人用,我不能重起。只好等明天了。 非常谢谢Sachow和来参予的各位。希望明天可以结贴。
Z zengsun Unregistered / Unconfirmed GUEST, unregistred user! 2002-12-20 #16 再次感谢各位的热心,我的问题依旧存在, 这几天我想再仔细看看书,以后再见![] 散分