madExcept, проверка состояния флажка в пользовательском помощнике перед добавлением дополнительных файлов в отчет
Я изменил send-assistant madExcept с новым флажком. Если использование отметит этот флажок, я хочу отправить дополнительные вложения с отчетом об ошибке (копия файлов данных пользователя).
Как я могу проверить, если пользователь установил флажок?
С уважением, -Вегар
2 ответа
Я решил эту проблему с помощью Мэдши на forum.madshi.net.
Мое решение включает в себя TMadExceptionHandler-компонент и событие 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;
Остается одна небольшая вещь - это включить / отключить флажок в особых случаях. Мадши говорит мне, что правильный способ сделать это - зарегистрировать обратный вызов actionhandler у помощника и проверить наличие флажка nvaItemEvent-action. Я еще не пробовал это.
-Vegar
Я не знаю madExcept, но если исходным кодом является Delphi (что видно из ваших тегов), вы можете проверить это так:
begin
if CheckBox1.Checked then
AttachDataFile;
end;
CheckBox1 - это имя, которое вы указали для элемента управления, когда вы поместили его в редактор форм. Если вы не знаете имя, выделите его мышью и посмотрите на инспектор объектов для свойства Name.