Почему вторая страница факса на полпути усечена с использованием этого кода, который я использую для отправки отчетов по факсу? - PullRequest
0 голосов
/ 01 февраля 2019

Я пытаюсь автоматизировать отправку отчетов по факсу из базы данных в приложении, разработанном с использованием Delphi XE4 с использованием Async Professional Components.Отчеты обычно состоят из нескольких страниц, от двух до четырех страниц, включая титульный лист.Я следовал рекомендациям компонентов Async Professional и смог быстро отправлять факсы.Первая страница идет нормально, и отчеты об обновлении статуса принимаются на стороне получателя.Однако после первой страницы вторая страница усекается ниже верхней трети.Статус показывает прогресс передачи только для зависания на 100%, и передача никогда не кажется завершенной.Статус наконец показывает Fatal Timeout.Любое руководство, где проблема оценена.

function TfrmFaxDispatch.SendFax: Boolean;
var
  Approutes: string;
  SchRec: TSearchRec;
  FaxPagesList: TStringList;
  accession: string;
  fax_number: string;
  I: Integer;

begin
  Approutes := ExtractFilePath(Application.ExeName);
  FaxQry.Active := TRUE;

  if FaxQry.RecordCount > 0 then
  begin

    fax_number := FaxQry.FieldByName('fax_number').AsString;
    accession := FaxQry.FieldByName('accession_number').AsString;

    if Get_Case_Status(accession) = PRELIM then
      frmaedgeap.GenerateFinalDiagnosisReportFax(accession, TRUE, False)

    else
      frmaedgeap.GenerateFinalDiagnosisReportFax(accession, False, False);


    FaxPagesList := TStringList.Create;

    try
      FaxPagesList.Sorted := TRUE;
      FaxPagesList.Duplicates := dupIgnore;

      if FindFirst(Approutes + 'APFReports\' + accession + '.*', faArchive,
        SchRec) = 0 then
      begin
        repeat
          FaxPagesList.Add(Approutes + 'APFReports\' + SchRec.Name);
        until FindNext(SchRec) <> 0;
        FindClose(SchRec);
      end;

      ApdSendFax1.PhoneNumber := fax_number;
      ApdSendFax1.HeaderLine := DateTimeToStr(now) +
        ' AEdge Diagnostic Lab  123-3456';
      ApdSendFax1.FaxFileList.Assign(FaxPagesList);

      if ApdSendFax1.FaxFileList.Count > 0 then
      begin
        ApdSendFax1.ConcatFaxes(Approutes + 'APFReports\OUTFAX.APF');
        ApdSendFax1.StartTransmit;
      end;

    finally
      FaxPagesList.Free;
    end;

  end;

end;
...