2015-11-30 24 views
1

我有一個Delphi XE窗體應用程序,我想添加一個方法來從命令行用輸入參數啓動應用程序。當啓動應用程序這樣,我不希望MainForm的展示,而不是我想要的應用程序來執行任務,並密切,類似於一個正常的控制檯項目如何在啓動時隱藏Delphi XE Forms應用程序的mainform?

我怎麼去呢?在項目源中,我嘗試了各種迭代方式,但是表單顯示的內容也是一樣的。並且編譯器不會讓我在onShow

+0

使您的應用程序不可見時一個常見的模式,應該有一個托盤圖標,以便想要取回的用戶可以這樣做。查看內置於VCL中的TTrayIcon。如果您的應用程序應該做一些任務,並自動關閉,但也許可以失敗或超時(時間太長時),需要讓用戶重新配置,那麼這是應該做的是一種常見的方式。 –

+0

的可能重複[我怎樣才能開始與隱藏的主要形式Delphi應用程序?(https://stackoverflow.com/questions/24441787/how-can-i-start-delphi-application-with-the-hidden-main -form) – user

回答

5

設置Application.ShowMainFormFalse期間可見。

begin 
    Application.Initialize; 
    Application.MainFormOnTaskbar := True; 
    Application.CreateForm(TForm7, Form7); 
    Application.ShowMainForm := Paramstr(1) = ''; 
    .... 
end. 
+0

還有cookie!謝謝 –

+1

我會使用'ParamCount = 0'。 – kludg

+0

我剛剛從問題中複製了測試 –

1

調用Application.Run()將完成你的要求之前設置Application.ShowMainForm屬性設爲False。但是,除非執行實際需要的任務你的MainForm,我會在你的命令行任務模式下運行時,建議你就不是在所有創建的MainForm:

begin 
    Application.Initialize; 
    if ParamCount() > 0 then 
    begin 
    // perform task as needed... 
    end else 
    begin 
    Application.MainFormOnTaskbar := True; 
    Application.CreateForm(TForm7, Form7); 
    Application.Run; 
    end; 
end. 
相關問題