为什么传真的第二页会被我用来通过传真发送报告的代码截断一半?

时间:2019-02-01 03:09:19

标签: delphi fax

我正在尝试使用Async Professional组件自动使用Delphi XE4开发的应用程序中的数据库传真报告。报告通常是多页的,包括封面两到四页。我遵循了Async Professional组件的准则,并且能够快速发送传真。第一页正常,状态更新报告它在接收端被接受。但是,在第一页之后,第二页被截断到前三页的下方。状态显示传输进度仅挂在100%,并且传输似乎从未完成。状态最终显示为致命超时。关于该问题的任何指导。

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;

0 个答案:

没有答案