[英]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.