GExperts 1.34 Pre-Release for RAD Studio XE でC++BuilderのMessage Dialog作成機能が修正されていた。
GExperts 1.33ではif文のMessage Dialogで戻り値に「mrYes」を選択すると、生成されたソースコードでは「MRYES」とすべての文字が大文字になっていた。
大文字小文字を区別しないDelphiでは問題ないが、区別するC++Builderではエラーになる。
if (MessageDlg("終了します。よろしいですか?", mtConfirmation,
TMsgDlgButtons() << mbYes << mbNo << mbCancel << mbHelp, 0) == MRYES) {
}
GExperts 1.34 Pre-Release for RAD Studio XEでは大文字小文字を正しく出力するようになった。
if (MessageDlg("終了します。よろしいですか?", mtConfirmation,
TMsgDlgButtons() << mbYes << mbNo << mbCancel << mbHelp, 0) == mrYes) {
}
小さい修正だけど、利便性は大きくアップした。
ところで、GExpertsの「Message Dialog」のショートカットキー「Ctrl+D」は、C++Builder2010から導入されたIDEの「ソースの整形」と重複している。
これは不便。
「ソースの整形」はあまり使用しないので、ショートカットキーを無効にすることはできないだろうか。
GExpertsのソースを変更して変更すれば出来ます。
1.3.4の環境だとMessageDialog\GX_MessageDialog.pasの855行目
を下記のようにssShiftをつけてみるとかすれば回避可能です。
ちなみにShift+Ctrl+Fのバッティングもこの方法で回避可能です。
constructor TMsgExpExpert.Create;
begin
inherited;
ShortCut := Menus.ShortCut(Ord(‘D’), [ssShift, ssCtrl]); <– 変更
FSettings := TMessageDialogSettings.Create;
end;
くろねこ様
コメントありがとうございます。
ソースコードを修正するという発想はありませんでした。
これで、より便利に使うことができそうです。