Wolfgang Chien's Homepage | Delphi學習筆記 - 問答篇 |
我的程式會 winexec 其它程式(A),run 出去的程式會改變資料庫的內容...
我如何在(A)程式結束後能重新取得資料庫中的最新的記錄?
但是不能用判斷 run 出去的(A)程式是否結束的作法,因為可能 run 出去的(A)程式改變資料後並沒有結束掉,使用者又切回來我的程式...這時我的程式必須可接受命令,並且顯示資料庫中最新的狀態..
我想只有一個好方法,,每當我的程式變成最上層(前景)時,我就能接到一個 Event,然後我在這個 Event 中作處理..可是我一直找不到這個 Event ,請大家幫忙想想用 Delphi 要怎麼作?
同意 alice@mail.response.com.tw 在另一封回信的解法, 您可以考慮使用Application.OnActivate事件. 然後在這個事件處理程序中呼叫 Table1.Refresh; 方法更新資料. 以下有一個例子.
改用 main form 的 OnActive event 並不如預期...
unit Unit1; interface .. type TForm1 = class(TForm) ... public procedure DoAppActivate(Sender: TObject); end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.DoAppActivate(Sender: TObject); begin Table1.Refresh; end; procedure TForm1.FormCreate(Sender: TObject); begin (* 指定 Application.OnActivate 事件 *) Application.OnActivate := DoAppActivate; end; procedure TForm1.Button1Click(Sender: TObject); begin (* 呼叫其他的 Win. Exe *) WinExec('NotePad.Exe', sw_Normal); end; end.
首頁 | 學習筆記 | 主題公園 | 軟體下載 | 關於本站 | 討論信群 | 相約下次 |