主窗体,启动太慢。(100分)

  • 主题发起人 主题发起人 Hecules
  • 开始时间 开始时间
是否在程序开始运行时就Create所有的子窗体?而且每个子窗体的OnCreate事件都执行了
类似打开数据集等操作,那必然耗时

建议具体要打开某个子窗体时才Create它,数据在需要时再读取
 
To:萧月禾
自创建的窗口,只有:数据模板和主窗口(见上面详细说明。)
 
你在使用出问题的电脑上调试,看慢在哪里不就行了,
如果不是得仔细看代码才能确知问题所在,
还有就是你的本系统其他窗体的OnCreate事件中是否大量操作数据库(比如打开数据量大的表),
或者OnShow/OnPaint/OnActivete事件中是否大量操作数据库.
 
TO:aizb:
难道,非自动创建的窗体,的:OnCreate,OnActivate,,,,影响到:主程序的启动速度?
因为,我的自动创建的窗体,只有:数据模板和主窗体。
而,启动主窗体时,已经启动了:登录窗体,这个窗体,的启动比较快。
在,启动主窗体时,数据库已经联接成功,并是保持联接的。

请继续讨论。谢谢。
 
我想问题的关键是这种方式有没有人曾经这样用过?
 
听你的说法,程序启动时也就创建了三个窗体,一是登录,一是数据模块,一是主窗体
登录窗体创建应该不会慢,现在慢的可能是数据模块与主窗体的创建,数据模块创建慢可能
是因为连接数据库慢,而主窗体的话就要看你的代码了。 其实你自己跟踪一下就很容易发
现是哪个地方慢的。
 
HELLO:我已经知道,是在:数据模板,启动后,登录窗口,启动后,启动主窗口时,
运行才奇慢无比的了。
请教, 如何,跟踪?如何,解决?有谁,这样作过??
谢谢。
请继续讨论。
 
你是不是用ADO联连的?如果是把服务器名改为IP试试。
我这的条件比你差多了,64K专线连服务器,客户端56K的猫,连接数据库时速度还是可以忍受的。
 
你的数据传送是不是很多?或者是在数据模块启动时就打开了数据控件?
 
我用的是:ADO。在数据模板中,数据控件,不是启动时就打开。
是在程序中,按需要才打开的。因为是在远程,所以,当然是用ip。
 
多人接受答案了。
 

Similar threads

回复
0
查看
736
不得闲
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部