まとめ
(1) SaveDialog1.FileName の最後の文字が \ で終わる
または、 / | < : " が文字列内に含まれていると
CommDlgExtendedErrorが発生し、Dialog は表示されない。
(2) Delphi 2005は、update2まで当てていないと
マルチバイト文字が正常に処理さずシングルバイト処理される可能性があり
内部でファイル名を破壊したあとにGetSaveFileName関数を呼び出す可能性がある。
with SaveDialog1 do
begin
// InitialDir := 'フォルダ名';
FileName := Edit1.Text;
//ファイル選択のオープンダイアログを表示
if (Execute = True) then
ShowMessage('File : '+ FileName)
else
begin
case CommDlgExtendedError of // CommDlg.CommDlgExtendedError
0 : ShowMessage('Save file was cancelled');
$3002 : ShowMessage('ファイル名が無効です。');
else
ShowMessageFmt('Error : CommDlgExtendedError 0x%X',[CommDlgExtendedError]);
end;
end;
end;
|