DBEXPRESS控件赋值报错

zhangpuqing 2008-03-03 11:18:55
最近在写个工程,在至有这么几个东西,主窗口MAIN,数据模块MODULE,登陆界面DL,当MAIN,SHOW的时候,调用MODULE里ACTION里的动作用DL:=TDL.CREATE(SELF);DL.SHOWMODULE
现在我在登陆界面里想给MODULE里的SQLQUERY.SQL写语句,但执行时会报错,但如果把语句先写在控件里就没事,大家帮我想想是哪儿出错了.
...全文
70 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
zhangpuqing 2008-04-30
发现问题了,是数据库连接设置的问题
回复
zhangpuqing 2008-03-04
楼上,
你好,我已重新检查了我的工程文件代码,还是没有发现问题,创建顺序也是先数据再MAINFROM的.
我怀疑是不是PASSWD的创建有问题
PASSWD我是在DATAMODULE里创建的,
用的是
PASSWD:=TPASSWD.CREATE(SELF);
PASSWD.SHOWMODULE;
然后在MAINFROM里ONSHOW的时候再显示PASSWD的.
SELF可能有问题.
回复
boneheart 2008-03-04
这个问题应该是对象生成期问题。你在操作数据模块对象时,其实数据模块对象还没有生成,所以报错了。

编写这种数据库应用时,我的步骤是这样:首先保证application对象里的全局对象生成顺序,先数据模块,再主窗口。然后logopassword窗口在主窗口的create事件中调用。

列如:

application对象是:

begin
Application.Initialize;
Application.CreateForm(TWeaponData, WeaponData); //数据模块对象
Application.CreateForm(TMainForm, MainForm); //主窗口对象
try
Application.Run;
except
Application.Terminate;
end;
end.



而主窗口create事件:
procedure TMainForm.FormCreate(Sender: TObject);
begin
passwd := TPasswordDlg.Create(Application);
passwd.ShowModal();
passwd.Free;
end;

回复
发帖
数据库相关
创建于2007-08-02

2451

社区成员

Delphi 数据库相关
申请成为版主
帖子事件
创建了帖子
2008-03-03 11:18
社区公告
暂无公告