为什么不能在事务对象中创建本地数据模块(100分)

F

first

Unregistered / Unconfirmed
GUEST, unregistred user!
我在delphi6中建一个事务对象,又加入一个本地数据模块。
但是在事务对象中动态创建数据模块时报"不支持此接口"的错误,非常奇怪。
代码如下:
MyInterface= class(TMtsAutoObject, Iree)
private
MyDataMod: TDataModule1;//本地数据模块
public
procedure Initialize override;
end;
procedure MyInterface.initialize
begin
MyDatMod := TDataModule1.Create(Forms.Application);//创建数据模块
end;
 
有的不理解你的做法,如果是服务器那为什么不用远程数据模块,
再说数据模块仅仅是设计时用的一个容器,有必要动态创建吗?
 
为道理不行的呀
procedure MyInterface.initialize
begin
inherited;
MyDatMod := TDataModule1.Create(nil);//创建数据模块
end;
不过要保证类编辑器和你写的一样的定义
或者干脆如下:
Tree= class(TMtsAutoObject, Iree)
private
MyInterface :Tree;
 
MyDatMod := TDataModule1.Create(Forms.Application);
^^^^^^^^^^^^^^^^^这句也有些古怪?
楼主不在了吗?
另外DataModule也是Form 的一种,你查一下源码就知道了,不知是不是这个原因导致的。
 
可以创建!
可能不是创建本地数据模块的问题
可能是其他的问题
 
我不知道是怎么不行的
李维《Delphi 5.x ADO/MTS/COM+高级程序设计篇》一书中也有
MyDatMod := TDataModule1.Create(Forms.Application);
的写发。
我试过是可以的
但是在事务对象中动态创建数据模块时报"不支持此接口"的错误
我认为不是这句的原因。
看看你的COM+组件是否是支持事务的!
 
接受答案了.
 
顶部