madExcept の send-assistant を新しいチェックボックスで変更しました。使用者がこのボックスをチェックした場合、バグ レポート (ユーザー データ ファイルのコピー) と共に追加の添付ファイルを送信したいと考えています。
ユーザーがチェックボックスをオンにしたかどうかを確認するにはどうすればよいですか?
よろしく、 -ベガー
この問題は、forum.madshi.net の madshi の助けを借りて解決しました。
私のソリューションには、TMadExceptionHandler-componentとイベントOnExceptionActionが含まれます。
procedure TMainForm.MadExceptionHandler1ExceptAction(action: TExceptAction;
const exceptIntf: IMEException; var handled: Boolean);
var
cbSendData: INVCheckbox;
assistant: INVAssistant;
begin
if action = eaSendBugReport2 then
begin
assistant := exceptIntf.GetAssistant(exceptIntf.SendAssistant);
cbSendData := assistant.Forms[1].nvCheckBox('SendDataChk');
exceptIntf.AdditionalAttachments.Clear;
if (cbSendData.Checked) then
begin
//Add data files as attachments...
end;
end;
end;
ちょっとしたことが残っています。それは、特別な場合にチェックボックスを有効/無効にすることです。Madshi は、これを行う適切な方法は、actionhandler-callback をアシスタントに登録し、チェックボックスで nvaItemEvent-action をチェックすることだと教えてくれました。私はまだこれを試していません。
-ベガー
madExceptはわかりませんが、ソースコードがDelphiである限り(タグから見える)、次のように確認できます。
begin
if CheckBox1.Checked then
AttachDataFile;
end;
CheckBox1 は、コントロールをフォーム エディターにドロップしたときにコントロールに設定した名前です。名前がわからない場合は、マウスで選択し、プロパティ Name のオブジェクト インスペクタを確認します。