请教如何解决com+出现的问题(200分)

  • 主题发起人 主题发起人 andy18930
  • 开始时间 开始时间
A

andy18930

Unregistered / Unconfirmed
GUEST, unregistred user!
各位大侠:
小弟在做com+的时侯,服务端是使用ActiveX Library+Transactional Data Modul+Ado,设置为require a transaction,客户端使用Dcomconnection链接时,弹出-个标题为"Dax error",提示为"Stack overflow"的窗口,关掉它后又弹出一个窗口提示为:灾难性错误。但将com+设置为support transactions,重新配置后客户端可以连接起来取得DataSetProvider提供的数据。服务端和客户端程序都是在同一台主机开发的,开发环境为:win2k+delphi6+sql2000。请问各位大侠这是怎么回事?该如何解决呢?请提供答案,在下不胜感激!
 
是不是只注册了,但没有加入到组件服务中
 
我已经安装了该com+组件,并添加了一个角色,在角色里添加administrators用户组,还是出现问题,请赐教!
 
小弟的程序是按照李维大师那本书的例子写的,怎么?这200分似乎没人赚!!
 
我刚试了一下,有角色的情况也是好,除非你登陆的用户不属于administrators用户组。
如果没有角色,应该是好的。
试试把包的启动用户指定。
 
从你已经提供的条件不能判断出问题所在——它们看起来都是很常规的做法。
需要检查DataSetProvider、ClientDataSet的设置,以及程序代码……我估计这只是某个小问题导致的。
 
Stack overflow ---- 通常是你的程序没写好,有小BUG,造成内存被占满。
比如,你这样写:
With YourADODataSetdo
begin
First;
While not Eofdo
begin
aStringList.Add(YourFieldByName('YourName').AsString);
Next;
<------你忘记了写这句!就一定会出现Stack overflow
end;
end;
 
COM+数据模块对象就是要设成支持事务。
做COM+对象时一般要做协调对象的。协调对象设为需要事务即可。协调对象要调用具有数据模块的中间对象。
出现错误主要原回是你的COM+对象设为需要事务,但你根本没有启动事务。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部