madExcept, проверка состояния флажка в пользовательском помощнике перед добавлением дополнительных файлов в отчет - PullRequest
1 голос
/ 28 января 2010

Я изменил send-assistant madExcept с новым флажком. Если использование помечает этот флажок, я хочу отправить дополнительные вложения с отчетом об ошибке (копия файлов данных пользователя).

Как я могу проверить, если пользователь установил флажок?

С уважением, -Vegar

Ответы [ 2 ]

0 голосов
/ 09 февраля 2010

Я решил эту проблему с помощью Мэдши на 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

0 голосов
/ 29 января 2010

Я не знаю madExcept, но если исходным кодом является Delphi (что видно из ваших тегов), вы можете проверить это так:

begin
  if CheckBox1.Checked then
    AttachDataFile;
end;

CheckBox1 - это имя, которое вы задали для элемента управления, когда вы помещали его в редактор форм. Если вы не знаете имя, выделите его мышью и посмотрите на инспектор объектов для свойства Name.

...