一个简单的问题

susdj 2005-10-15 09:01:25
Application.Initialize;

Application.CreateForm(TFormMain, FormMain);
Application.CreateForm(TFormSQLDbUser, FormSQLDbUser);
Application.Run;

...
在以上代码中,主Form是先创建的,FormSQLDbUser后创建;但是我在主Form.OnCreate中要对
FormSQLDbUser操作就不行了,因为FormSQLDbUser还没有创建;
如果
...
Application.CreateForm(TFormSQLDbUser, FormSQLDbUser);
Application.CreateForm(TFormMain, FormMain);
...
这样的话,FormSQLDbUser会先于主Form显示出来.
如何解决呢?
...全文
79 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
susdj 2005-10-25
  • 打赏
  • 举报
回复
算了,散分
兵兵 2005-10-16
  • 打赏
  • 举报
回复
让FormSQLDbUse动态创建
lyre 2005-10-16
  • 打赏
  • 举报
回复
想找不需要代码的方法?容易,不过请稍等一下,等我教会了我善跑的马儿不吃草后再来告诉你:)
susdj 2005-10-16
  • 打赏
  • 举报
回复
不需代码的方法
susdj 2005-10-16
  • 打赏
  • 举报
回复
这个方法我也知道的,我是想寻找更简单的
lyre 2005-10-15
  • 打赏
  • 举报
回复

Application.CreateForm(TFormSQLDbUser, FormSQLDbUser);
改为
FormSQLDbUser := TFormSQLDbUser.Create(Application);
放在主Form创建之前即可。
coffee36 2005-10-15
  • 打赏
  • 举报
回复
那干脆就让FormSQLDbUse动态创建就行了呀.
在工程文件里去掉Application.CreateForm(TFormSQLDbUser, FormSQLDbUser);
然后在FormMain的ONCREATE事件里创建FormSQLDbUser,最后对它操作.
zsjzwj 2005-10-15
  • 打赏
  • 举报
回复
补充二: 再去掉Application.CreateForm(TFormSQLDbUser, FormSQLDbUser);
zsjzwj 2005-10-15
  • 打赏
  • 举报
回复
二: 在FormMain中uses TFormSQLDbUser的单元
zsjzwj 2005-10-15
  • 打赏
  • 举报
回复
在FormSQLDbUser的oncreate事件中让本窗口不可见,等需要的时候再改变它的可视属性,让它显示就可以了饿

5,930

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧