首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Delphi中TTable在DataModule中使用的错误

Delphi中TTable在DataModule中使用的错误
EN

Stack Overflow用户
提问于 2011-12-08 18:01:37
回答 1查看 1.4K关注 0票数 0

我有一款运行良好的应用程序..。将其移植为DLL。我有一个数据表,上面有我的数据库和TTable组件.在设计模式中,数据库被设置为Active。表指向数据库,它们被设置为active。我可以右键单击表,转到字段编辑器,查看所有列,因此我知道结构/属性设置得很好.

问题是在运行时间..。它给了我这条线上的AV。

代码语言:javascript
复制
 if MyDataModule.DB1.Connected = True then
  ShowMessage('Active')
   else 
 ShowMessage('Not Active');

我在网络上看到了一些提示,需要做一些特殊的事情来使用DLL中的Datamodule,但是我没有得到任何有用的东西。

具体的错误信息是:

地址06D4E22E在模块‘

’读取地址0000070'

中的DocAssistCom.dll访问冲突

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-08 18:54:38

您应该验证是否确实创建了MyDaModule,然后在尝试使用MyDataModule.DB1.Connected之前也创建了MyDataModule.DB1

代码语言:javascript
复制
if Assigned(MyDataModule) then
  if Assigned(MyDataModule.DB1) then
    if MyDataModule.DB1.Connected = True then
      ShowMessage('Active')
    else 
      ShowMessage('Not Active')
  else
    ShowMessage('MyDataModule.DB1 not assigned')
else
  ShowMessage('MyDataModule not assigned');

但是,当您尝试使用它们时,它们可能仍未完全创建并准备就绪。

因此,与其四处传播ShowMessage调用,我宁愿使用OutputDebugstring调试IDE中的DLL来查看代码路径.

注意:我不知道您正在使用的Delphi和Windows的哪个版本,但是请注意,TTable需要BDE (现在非常不推荐).

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8435444

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档