我用一个新的复选框修改了 madExcept 的发送助手。如果用户选中此框,我想发送带有错误报告的附加附件(用户数据文件的副本)。
如何检查用户是否选中了该框?
问候,-Vegar
我在 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。我还没有尝试过。
-素食主义者
我不知道 madExcept,但就它的源代码是 Delphi (从你的标签看来),你可以像这样检查它:
begin
if CheckBox1.Checked then
AttachDataFile;
end;
CheckBox1 是将控件放入表单编辑器时为控件设置的名称。如果您不知道名称,请用鼠标选择它并查看对象检查器的属性名称。