Dll中的ado连接???请教各位!! (100分)

  • 主题发起人 主题发起人 blue_tw
  • 开始时间 开始时间
B

blue_tw

Unregistered / Unconfirmed
GUEST, unregistred user!
我现在再把原来做的改成dll。
在dll中,建立了一个数据模块,现在一个dll中的窗口的datasource可以直接连到数据模块中的query,若再在代码中也可以实现,如
DS.DataSet:=DataModule3.ADOQuery1;
可是为什么运行时,直接连得可以运行,在代码中连的就出错。可是那个dll编译时也没有错误呀.
运行时报错:
Access violation at address 002D9E9C in modle 'Project2.dll'.Read of address 0000005C.
 
你先看看你的数据模块有没有创建了?
 
可能不是这里的错,其他地方有错
 
数据模块已经创建了。问题关键是:
直接连到数据模块中的query,若再在代码中也可以实现,编译都没出错!
可运行时直接连到数据模块中的query的情况,没出错!
若在代码中实现连接的,就出错!!
 
我遇到过,至今没有解决
 
应该是没有创建
 
怎么办呢?
 
我看了你的代码,是Datamodule没有创建,这很明显是访问没有实例化的对象的错误,你在Tdatamodule.craete(self)时加上返回值datamodule3:=Tdatamodule.craete(self),再引用就不会出错了
 
你可以把数据模块作为窗体的私有成员试试,在窗体创建时创建。我以前好像这么用过。
 
后退
顶部