Einzelnen Beitrag anzeigen

Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#14

AW: Array über Schleife ausfüllen

  Alt 11. Feb 2021, 17:43
Danke an Alle...

Mit den Informationen habe ich es dann auch geschnallt.
Zitat:
Du muß die generierten AnsiString für jede Zeilen bis zum Ende von PDFMerge gespeichert haben
...war der Auslöser zum Probieren.

Jetzt geht es:
Zwischenspeicherung in TList<AnsiString>
Delphi-Quellcode:
function TSEAMGhostscript.PDFMerge(FileName: string; FileList: TStrings): Boolean;
var
  ParametersTemp: TList<AnsiString>;
  InitError: Integer;

  procedure CreateMergeFiles;
  var
    I: Integer;
  begin
    for I := 0 to FileList.Count - 1 do
    begin
      ParametersTemp.Add(AnsiString(FileList[I])); // <--
      FParameters[I + 6] := PAnsiChar(ParametersTemp[I]); // <--
    end;
  end;

begin
  if FDLLHandle = 0 then
  begin
    if not LoadDLL(FDLLPath) then
    begin
      Result := False;
      Exit;
    end;
  end;
  try
    ParametersTemp := TList<AnsiString>.Create; //<--
    try
      SetLength(FParameters, FileList.Count + 6);

      FParameters[0] := '';
      FParameters[1] := '-dNOPAUSE';
      FParameters[2] := '-dBATCH';
      FParameters[3] := '-dPDFSETTINGS=/ebook';
      FParameters[4] := '-sDEVICE=pdfwrite';
      FParameters[5] := PAnsiChar(AnsiString('-sOutputFile=' + FileName));
      CreateMergeFiles;

      InitError := FGsApiInitWithArgs(FGsInstance, Length(FParameters), FParameters);
      Result := (InitError = 0);
      if InitError <> 0 then
      begin
        if Assigned(FOnError) then
        begin
          FOnError(Self, Format('Fehlercode: %d', [InitError]));
        end;
      end;
    finally
      ParametersTemp.Free;
    end;
  finally
    FGsApiExit(FGsInstance);
  end;

  if not Result then
  begin
    if Assigned(FOnError) then
    begin
      FOnError(Self, Format('Fehler beim Erstellen: %s', [FileName]));
    end;
  end;
end;
Miniaturansicht angehängter Grafiken
loesung.jpg  
  Mit Zitat antworten Zitat