線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:959
推到 Plurk!
推到 Facebook!

製作loading form 載入時無法解決延遲的問題 !?

答題得分者是:seaturn99
mine
中階會員


發表:28
回覆:129
積分:56
註冊:2004-03-31

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-07-21 12:21:42 IP:61.221.xxx.xxx 未訂閱
參閱了http://delphi.ktop.com.tw/topic.php?topic_id=30314 稍稍有點不同 因為我的程式開啟時之所以慢是因為引用了五支DLL檔(靜態載入) 一但下了application.createform在程式執行時就會有五秒的延遲 簡化成以下程式煩請各位前輩指教 Application.Initialize; Application.CreateForm(TForm2, Form2);//專案檔建立loadingForm Application.Run; //Form2 Create Main Form procedure TForm2.AbGradient1Click(Sender: TObject);//尚末觸發 begin Application.CreateForm(TForm1,Form1);僅這行出現尚末執行Form2執行時就會慢五秒 產生如果mark掉就不會delay end; //Form1 uses exta,stauct,switchnt,stlic,voicent; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^拿掉這些引用Create Form1速度正常 除了站上的這篇文章利用另一隻程式去顯示loadingform之外還有其他更好的方式或其他設定改寫嗎?? 搞不懂!搞不懂!永遠都搞不懂!! 發表人 - mine 於 2004/07/21 12:25:07
alphakao
一般會員


發表:0
回覆:18
積分:8
註冊:2002-07-04

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-08-06 13:51:21 IP:210.202.xxx.xxx 未訂閱
把 Static 的 宣告給為動態宣告 然後然後在 Application.initial 前  Create 一個 Thread 將 DLL Load 進來 這樣如何.
mine
中階會員


發表:28
回覆:129
積分:56
註冊:2004-03-31

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-08-16 13:50:25 IP:61.221.xxx.xxx 未訂閱
[quote] 把 Static 的 宣告給為動態宣告 然後然後在 Application.initial 前  Create 一個 Thread 將 DLL Load 進來 這樣如何.
seaturn99
版主


發表:69
回覆:427
積分:214
註冊:2003-08-25

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-08-16 15:06:38 IP:220.130.xxx.xxx 未訂閱
引言: alphakao你好 執行緒的方式之前就已試過結果還是相同,最近繁忙遲了回應見諒。 搞不懂!搞不懂!永遠都搞不懂!!
mine 您好 : 造成延遲的可能性,有兩個方向需要思考 : 1. 靜態載入 dll 造成的 delay 2. uses Unit 時在 initialization 區段執行造成的 delay 要先釐清是哪個造成的,再逐步縮小範圍,看是哪些 Code 區段或元件造成的.. 實驗的方法提供給您做參考 ... 寫一個測試的主程式,單獨 uses Unit 或單獨載入 dll後計時,先找出有問題的 Unit 或 dll .. 找到問題目標後,利用 break point 或是 trace info 功能,逐步找到造成延遲的區段 ... 最後才能判別,是否利用 Thread 可以解決此問題?? ---- 我只會兩件事,這也不會,那也不會 眼見不一定為真 ----
系統時間:2024-05-19 6:53:06
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!