簡體   English   中英

標准對話框不會彈出

[英]Standard dialog does not popup

我有一個帶有TSaveDialog的表單。 從IDE運行時,調用Execute函數時不會彈出。 獨立運行時彈出。 經過更多測試,我發現所有TSave / TOpen對話框均無效。 不起作用意味着Execute返回False而沒有彈出窗口(請參閱更新的代碼示例:始終彈出消息“ False”,而不會在對話框之前)。 另一個對話框(字體/顏色/等) 的工作。

procedure TForm1.Button1Click(Sender: TObject);
begin
   if OpenPictureDialog1.Execute
      then ShowMessage ('True')
      else ShowMessage ('False');
end;

在不調試的情況下運行對話框均不會出現。 選擇發布還是調試配置也沒有關系。

顯然,IDE做一些奇怪的事情。 窗體上有兩個TSaveDialog組件,並且都顯示相同的行為。

知道有什么問題嗎?

在Windows 7上使用Delphi XE 更新1。使用TSaveDialogs的其他項目可以正常工作。

更新2發現有關TSaveDialog的原始問題適用於所有TSave / TOpen對話框。 已對問題進行了編輯以包括此知識。

更新3我發現此鏈接的類似錯誤。 但是,我檢查了注冊表,但找不到如上所述的可執行文件。 更改與XP的兼容性的技巧並不適用,因為TSaveDialog在IDE外部可以正常工作。

如果使用的是XE2,則應檢查“項目選項環境”塊的“用戶替代”中是否沒有任何條目。 “包含系統變量”不起作用,沒有它,只有用戶覆蓋的環境變量位於啟動EXE的環境塊中,但是打開/保存對話框需要一些系統變量,例如“ SystemDrive”和“ SYSTEMROOT”。

或者,您可以安裝IDE修訂包來修復“包含系統變量”選項。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM