两种DCOM的注册问题? (200分)

  • 主题发起人 主题发起人 lccc
  • 开始时间 开始时间
正在csdn上查!
C++或VC的也行!!!
 
To adoquery:
12点停电。打印看看,行立即给分!
谢谢!!!
 
to Adoquery:
灌水也不要如此灌吗!!!!!!!
 
有一类人
上来就是一段纯代码(完全没有注释的)
什么都不讲
一幅看得懂就用看不懂就算的吊样
十分讨厌
想帮人就好好帮
不想帮就走远一点
写代码好了不起似的
 
...真行呀......第一次见这么Niu的代码..........一堆垃圾.....
 
在客户端注册TLB:
uses
ActiveX, SysUtils, COMObj;

procedure TfrmLogin.RegTypeLibrary( Const FileName: String );
var
wFileName: WideString;
do
cName: WideString;
TypeLib: ITypeLib;
begin

if not( FileExists( FileName ) ) then

ShowMessage( 'Type library not found' );

wFileName := FileName;
OleCheck( LoadTypeLib( PWideChar( wFileName ), TypeLib ) );

OleCheck( TypeLib.GetDocumentation( -1, nil, nil, nil, @DocName ) );
do
cName := ExtractFilePath(do
cName );

OleCheck( RegisterTypeLib( TypeLib, PWideChar( wFileName ), PWideChar(do
cName ) ) );
end;

 
Delphi的Demo中用一个注册Dll和Exe的程序。你自己看看台。DCOMCNFG当然要用。
那个是用来设置权限的,只在服务器上设置就行了。
 
谢谢同志们的关心。如何在本地注册不是问题,
问题是:
1、在客户端如何让系统知道调用指向远程服务器;
2、在服务器端如何用程序设置安全属性。
已经有一些答案:服务端的安全设置是调用专门的COM安全函数,
正在查找!通过即通知各位!!
 
就怕DCOM的设置
 
抱歉,这段时间太忙,没有上!
继续前面的讨论:
1、这段时间把VC中关于COM/DCOM的看了看,VC中可以将服务端的存根与代理
单独编译为一个DLL文件,也可以使用类型库,但Delphi似乎不能,只是使
用类型库。我尝试了一下,使用VC,分发存根/代理DLL到客户端,很容易就
连通服务器。看来Delphi在COM/DCOM上还是没有微软的VC厉害??
2、COM/DCOM安全函数:CoInitializeSecurity;
3、安全可以在服务端设置,也可以在客户端使用CoInitializeSecurity覆盖
服务端的默认设置;
这段时间有空,将继续试验,结果将与各位同享!望各位继续!
 
将服务端的存根与代理单独编译为一个DLL文件,用MIDL就可以了,VC應也是調
用它而已,所能這對開發者來說不是最重要的.最重要的是開發好後,卻通不起
來,最痛苦的莫過於此了.DCOM的配置簡直是不可捉摸嘛????????????????
請看之問題: http://www.delphibbs.com/delphibbs/dispq.asp?LID=2077424
 
本人有一套三层COM+解决方案(特点):
1.客户端通过DCOM(LAN)或SOAP(WAN)方式访问应用服务器。DCOM方式客户端也不需要安装应用服务器程序代理,只需指定应用服务器IP地址或名称;你若要用SOAP方式也可以,只需给出WDSL位置即可。选择DCOM或SOAP方式只需改变我的通讯配置,您的客户端程序不需任何变动。
2.开发应用服务器:把你的程序做成COM+的ACTIVE DLL(无状态函数),作为COM+中库组件类型安装在COM+中。
3.开发客户端:方案提供一个COM型的ACTIVE DLL(与应用服务器的通信),你的客户端程序只需通过本方案的DLL 访问你的应用服务器程序。调用方式见 1
4.系统不限制开发语言,只需支持COM调用(客户端),应用服务器能写COM+组件。
5.考虑系统不限制开发语言,参数类型不能直接传递对象:如 recordset等,recordset可以通过流方式:如应用服务器将recordset转化为XML或二进制,客户端再将XML或二进制转化recordset。系统提供MS 标准转换函数(recordset) RStoXML,XMLtoRS。
6.客户端调用应用服务器每一个函数服务就是一个事物。如:保存定单等。
7.客户端调用函数立即断开与应用服务器连接。
8.应用服务器系统可随时升级程序,客户端不用退出。
9.遵循该标准,能解决不同系统的业务接口问题,都是调用函数服务的问题。
10.系统要求:应用服务器:win2000Server,Com+,IIS;客户端 Win95以上。
11.系统经过2年应用开发,稳定,安全,运行效率高。
详细请与:rc_x@sina.com联系
 
谢谢各位关注!
问题没有解决,一者太忙,二者换了一种方法:将DLL分发到客户端,但在DLL中增加了
一个VerifyUseable方法,使用DES方法校验对DLL文件的使用权限。客户端(EXE文件)
产生随机数,使用内置密钥加密,将结果和原数作为VerifyUseable的参数传递给DLL,
校验一致则置DLL实现类的私有变量FUseable为True。其它任何方法调用之间校验FUseable
是否为True。
马上过年了,就不要把问题留到明年!祝各位猴年发财,每人搞几个项目自己干!
省的老由中间人来转达需求,特麻烦、劳心!!!!
明年见!!
 
糟透了,没有给哪个鸟adoquery分,怎的全给他了!便宜了这家伙!
各位,请原谅!!!!!
 
后退
顶部