1

我用一个新的复选框修改了 madExcept 的发送助手。如果用户选中此框,我想发送带有错误报告的附加附件(用户数据文件的副本)。

如何检查用户是否选中了该框?

问候,-Vegar

4

2 回答 2

0

我在 madshi 的帮助下在forum.madshi.net解决了这个问题。

我的解决方案涉及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。我还没有尝试过。

-素食主义者

于 2010-02-09T11:32:02.183 回答
-2

我不知道 madExcept,但就它的源代码是 Delphi (从你的标签看来),你可以像这样检查它:

begin
  if CheckBox1.Checked then
    AttachDataFile;
end;

CheckBox1 是将控件放入表单编辑器时为控件设置的名称。如果您不知道名称,请用鼠标选择它并查看对象检查器的属性名称。

于 2010-01-28T22:32:30.350 回答