Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi PDF Listing mit SynPDF (https://www.delphipraxis.net/204253-pdf-listing-mit-synpdf.html)

oldmann 11. Mai 2020 12:48

PDF Listing mit SynPDF
 
Hallo Delphi Gemeinde,

ich bin am experimentieren ob ich eine kleine PDF-Routine für Delphi erstellen kann.
Es geht darum von Textpassagen und eventuell auch von Tabellen ein PDF zu erstellen.
Dazu habe ich ein kleines PDF Listing mit SynPDF von Youtube bei mir eingegeben.
Ich benutze Delphi Tokyo 10.2.2.
Beim Start kam aber eine Fehlermeldung.
Das Programm war mit Delphi 7 geschrieben.
Daher denke ich das es für meine Delphi-Version nicht geeignet ist.
Ich selbst habe keine Ahnung wie ich so etwas hinkriegen oder anpassen könnte.
Da ich auch kein Englisch kann, sind Beschreibungen in dieser Sprache nutzlos.
Vielleicht hat ja einer von Euch eine kleine Routine, die er mir fertig zur Verfügung stellen könnte.
Das man erst einmal was hat, dass läuft.
Ich würde mich freuen, wenn mir da jemand helfen könnte.

Oldmann

Moombas 11. Mai 2020 13:53

AW: PDF Listing mit SynPDF
 
Ich habe mir mit SYNPDF etwas gebastelt, das aus einer vorhandenen txt Datei eine PDF erzeugt.
Allerdings immer nur 1 Seite, da ich nicht mehr brauchte/wollte.

Delphi-Quellcode:
unit DoPDFU;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, ShellAPI, Jpeg, SynPDF;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
  //TXT
   TXT : TStringlist;
   I  : integer;
  searchResult : TSearchRec;
  //PDF
  counter : integer;
  switch : string;
  pdffile: string;
  PDF   : TPDFDocumentGDI;
  Page  : TPDFPage;
  Image : TBitmap;
begin
//  ReportMemoryLeaksOnShutdown := True;
  TXT := TStringList.Create;
  try
    findfirst(ExtractFilePath(ParamStr(0)) + '*.txt', faAnyFile, searchResult);
    TXT.LoadFromFile(searchResult.Name);

    pdffile := 'Name.pdf';
    PDF    := TPDFDocumentGDI.Create();
    try
      PDF.Info.Author      := 'Autor';
      PDF.Info.CreationDate := now;
      PDF.Info.Subject     := 'Bla';
      Pdf.Info.Title       := 'Bla';
      //--
      Page := PDF.AddPage;
      Page.PageLandscape   := False;
      PDF.DefaultPaperSize := psA4;

      //--------Seite1-Start
      //--------Header-Start
      Pdf.VCLCanvas.Font.Color := cLHotLight;
      PDF.VCLCanvas.Font.Size := 10;
      PDF.VCLCanvas.TextOut(325, 25, 'Header');
      Pdf.VCLCanvas.Font.Color := clBlack;
      //--------Header-Ende
      PDF.VCLCanvas.Font.Size := 20;
      PDF.VCLCanvas.Font.Style := [fsBold, fsUnderline];
      PDF.VCLCanvas.TextOut(325, 65, 'Überschrift');
      PDF.VCLCanvas.Font.Size := 14;
      PDF.VCLCanvas.Font.Height:= PDF.VCLCanvas.Font.Height + 5;
      PDF.VCLCanvas.Font.Style := [];
      PDF.VCLCanvas.Font.Name := 'Courier New';
      TXT[1] := copy(TXT[1], 23, length(TXT[1]));
      for I := 1 to TXT.Count - 1 do
      begin
        if (TXT[I] <> '') and (I <> 2) then
        begin
          if I = 1 then
            PDF.VCLCanvas.Font.Color := clRed
          else
            PDF.VCLCanvas.Font.Color := clBlack;
          PDF.VCLCanvas.TextOut(75, 115 + (I * 14), TXT[I]);
        end;
      end;
      //--------Footer-Start
      Pdf.VCLCanvas.Font.Color := cLHotLight;
      PDF.VCLCanvas.Font.Size := 10;
      PDF.VCLCanvas.Font.Height:= PDF.VCLCanvas.Font.Height - 5;
      PDF.VCLCanvas.TextOut(225, 1085, 'Erstellt am: ' + datetimetostr(now));
      Pdf.VCLCanvas.Font.Color := clBlack;
      //--------Footer-Ende
      //--------Seite1-Ende
      //--------PDF-Ende
      PDF.SaveToFile(pdffile);
    finally
      PDF.Free;
      shellexecute(handle, 'open', PChar(pdffile),'','',SW_Normal);
    end;
  finally
    deletefile(searchResult.Name);
    TXT.Free;
    Application.Terminate;
  end;
end;

end.

himitsu 11. Mai 2020 14:46

AW: PDF Listing mit SynPDF
 
Wäre es nicht besser die DefaultPaperSize zu setzen, bevor man die neue Seite erstellt (AddPage), oder du wolltest etwas ändern, was sich z.B. irgendwie PaperSize nennt (ohne Default).


Es gibt auch PDF-Drucker, dann brauchst vom PDF im Programm nichts zu haben. Einfach über TPrinter oder sonstwie dort hin.

oldmann 11. Mai 2020 15:22

AW: PDF Listing mit SynPDF
 
Hallo Monbas,

danke für Dein Listing.
Es erzeugt die gleichen Fehlerneldungen wie das aus Youtube.
Hier mal ein Auszug einer Fehlermeldung:

function GetDelphiCompilerVersion: RawUTF8;
begin
result :=
{$ifdef FPC}
'Free Pascal'
{$ifdef VER2_4_0}+' 2.4.0'{$endif}
{$ifdef VER2_4_2}+' 2.4.2'{$endif}
{$ifdef VER2_4_3}+' 2.4.3'{$endif}
{$ifdef VER2_4_4}+' 2.4.4'{$endif}
{$ifdef VER2_5_0}+' 2.5.0'{$endif}
{$ifdef VER2_5_1}+' 2.5.1'{$endif}
{$ifdef VER2_6_0}+' 2.6.0'{$endif}
{$ifdef VER2_7_0}+' 2.7.0'{$endif}
{$ifdef VER2_7_1}+' 2.7.1'{$endif}
{$else}
{$ifdef VER90} 'Delphi 2'{$endif}
{$ifdef VER100} 'Delphi 3'{$endif}
{$ifdef VER120} 'Delphi 4'{$endif}
{$ifdef VER130} 'Delphi 5'
{$else}
{$if defined(VER140)}
{$ifdef LINUX}'Kylix 3'{$else}'Delphi 6'{$endif}
{$elseif defined(VER150)} 'Delphi 7'
{$elseif defined(VER160)} 'Delphi 8'
{$elseif defined(VER170)} 'Delphi 2005'
{$elseif defined(VER185)} 'Delphi 2007'
{$elseif defined(VER180)} 'Delphi 2006'
{$elseif defined(VER200)} 'Delphi 2009'
{$elseif defined(VER210)} 'Delphi 2010'
{$elseif defined(VER220)} 'Delphi XE'
{$elseif defined(VER230)} 'Delphi XE2'
{$elseif defined(VER240)} 'Delphi XE3'
{$elseif defined(VER250)} 'Delphi XE4'
{$elseif defined(VER260)} 'Delphi XE5'
{$ifend}
{$endif}
{$endif}
{$ifdef CPU64}
+' 64 bit'
{$endif}
end;

Die Fehlermeldung lautet:Ausdruck erwartet aber End gefunden.

himitsu 11. Mai 2020 15:24

AW: PDF Listing mit SynPDF
 
Zitat:

Delphi-Quellcode:
{$elseif defined(VER260)} 'Delphi XE5'
{$ifend}

die fehlenden Delphiversionen einfügen, oder einfach nur
Delphi-Quellcode:
{$elseif defined(VER260)} 'Delphi XE5'
{$else} 'Delphi unbekannt'
{$ifend}

Hobbycoder 11. Mai 2020 15:36

AW: PDF Listing mit SynPDF
 
In welcher Unit ist denn die Procedure GetDelphiCompilerVesion?

Ansonsten lad dir doch mal eine aktuelle Verion:
SynPDF: Hier
oder mORMot: Hier (ist SynPDF mit drin).

beides läuft unter 10.3 ohne Änderungen.

oldmann 11. Mai 2020 15:43

AW: PDF Listing mit SynPDF
 
Danke der Fehler ist ist damit schon mal erledigt.

Es gibt aber 2 weitere:

Delphi-Quellcode:
procedure TSynBackgroundThreadAbstract.Execute;
begin
  while not Terminated do
    case fProcessEvent.WaitFor(INFINITE) of
      wrSignaled:
        case GetPendingProcess of
        flagDestroying: begin
          fCallerEvent.SetEvent;
          break;
        end;
        flagStarted:
        try
          fBackgroundException := nil;
          try
            Process;
          except
            {$ifdef DELPHI5OROLDER}
            on E: Exception do
              fBackgroundException := Exception.CreateFmt('Redirected %s: "%s"',
                [PShortString(PPointer(PPtrInt(E)^+vmtClassName)^)^,E.Message]);
            {$else}
            [COLOR="Red"]fBackgroundException := AcquireExceptionObject;[/COLOR]
            {$endif}
          end;
        finally
          SetPendingProcess(flagFinished);
          fCallerEvent.SetEvent;
        end;
       end;
    end;
end;
Die Fehlermeldung in er roten Zeile lautet:
Inkompatiblr Typen: Exception und 'TObjekt'.

Eine weitere Fehlermeldung ist in meinem vorherigen Listing:

{$ifdef VER2_6_4}+' 2.6.4'{$endif}
{$ifdef VER2_7_0}+' 2.7.0'{$endif}
{$ifdef VER2_7_1}+' 2.7.1'{$endif}
{$else}
{$ifdef VER90} 'Delphi 2'{$endif}
{$ifdef VER100} 'Delphi 3'{$endif}

Bei {Selse} steht: Nicht abgeschlossene bedingte Direktive.

Gruss Oldmann

oldmann 11. Mai 2020 16:05

AW: PDF Listing mit SynPDF
 
Hallo Hobbycoder,

den folgenden Satz von Dir verstehe ich nicht:
In welcher Unit ist denn die Procedure GetDelphiCompilerVesion?
Was muss ich da wo nachschauen.

Ich habe mir die neue Version heruntergeladen.
Es kommen die gleichen 2 Fehler die ich zuletzt beschrieben habe.
Ich weiß allerdings nicht ob ich damit alles richtig gemacht habe.
Ich habe den Ordner mit den heruntergeladenen Dateien einfach in den Suchpfad bei Delphi eingeben.
Ist das richtig.

Gruss Oldmann

Hobbycoder 11. Mai 2020 16:42

AW: PDF Listing mit SynPDF
 
Zitat:

Zitat von oldmann (Beitrag 1464280)
Procedure GetDelphiCompilerVesion?

Naja, wenn dir das beim Compilieren in einen Fehler spring, dann landest du eigentlich in der Unit, in der der Fehler aufgetreten ist (der Reiter oben, der dann aktiv ist).


Zitat:

Zitat von oldmann (Beitrag 1464280)
Ich habe den Ordner mit den heruntergeladenen Dateien einfach in den Suchpfad bei Delphi eingeben.
Ist das richtig.

Sollte reichen. Ansonsten bekommst du auch eine passende Fehlermeldung "Unit nicht gefunden" oder so ähnlich. Wenn er dir schon in Code springt, sollte er es auch finden.

himitsu 11. Mai 2020 16:59

AW: PDF Listing mit SynPDF
 
Zitat:

Delphi-Quellcode:
fBackgroundException := AcquireExceptionObject;

Der Teil ist aber auch falsch, so wie es die Fehlermeldung richtig nennt.
Delphi-Quellcode:
fBackgroundException := AcquireExceptionObject as Exception;

oldmann 12. Mai 2020 08:14

AW: PDF Listing mit SynPDF
 
Hallo,

die Fehlerkorrektur von Himitsu räumte den 1. Fehler aus.
Danke dafür.
Jetzt bleibt noch ein Fehler.
Hier ein Ausschnitt aus der Funktion 'function GetDelphiCompilerVersion: RawUTF8;'
wo der Fehler auftritt:
{$ifdef VER2_6_4}+' 2.6.4'{$endif}
{$ifdef VER2_7_0}+' 2.7.0'{$endif}
{$ifdef VER2_7_1}+' 2.7.1'{$endif}
{$else}
{$ifdef VER90} 'Delphi 2'{$endif}
{$ifdef VER100} 'Delphi 3'{$endif}

Bei dem allein stehenden {Selse} steht:
Nicht abgeschlossene bedingte Direktive.

Das ist in der Unit 'SynCommons' in der Zeile 34032:

Gruss Oldmann

Moombas 12. Mai 2020 10:30

AW: PDF Listing mit SynPDF
 
Müsste die Logik nicht so sein (nutze das mit {} aktuell nicht):
Code:
{$ifdef VER2_7_1}+' 2.7.1'{$else}was anderes {$endif}
Dein else steht meiner Ansicht nach "alleine" da. Also bei dir:
Delphi-Quellcode:
{$ifdef VER2_6_4}+' 2.6.4'{$endif}
{$ifdef VER2_7_0}+' 2.7.0'{$endif}
{$ifdef VER2_7_1}+' 2.7.1'{$else}
  {$ifdef VER90} 'Delphi 2'{$endif}
  {$ifdef VER100} 'Delphi 3'{$endif}
{$endif}
Wie himitsu schrieb ist das bei dem kleinen Ausschnitt jedoch schwer zu beurteilen wozu dein else etc. gehören soll.

himitsu 12. Mai 2020 10:32

AW: PDF Listing mit SynPDF
 
Das ist nur ein Ausschnitt, von mehreren verschachtelten IF/IFDEFs, was hier ohne das Drumrum und ohne Einrückung noch schlimmer aussieht.
siehe Post #4

oldmann 12. Mai 2020 12:42

AW: PDF Listing mit SynPDF
 
Hallo,

damit man das Listing noch besser sehen kann noch mal mit Delphi Einrückung,
so wie es im Original auasiht:
Delphi-Quellcode:
function GetDelphiCompilerVersion: RawUTF8;
begin
  result :=
{$ifdef FPC}
  'Free Pascal'
  {$ifdef VER2_4_0}+' 2.4.0'{$endif}
  {$ifdef VER2_4_2}+' 2.4.2'{$endif}
  {$ifdef VER2_4_3}+' 2.4.3'{$endif}
  {$ifdef VER2_4_4}+' 2.4.4'{$endif}
  {$ifdef VER2_5_0}+' 2.5.0'{$endif}
  {$ifdef VER2_5_1}+' 2.5.1'{$endif}
  {$ifdef VER2_6_0}+' 2.6.0'{$endif}
  {$ifdef VER2_6_1}+' 2.6.1'{$endif}
  {$ifdef VER2_6_2}+' 2.6.2'{$endif}
  {$ifdef VER2_6_3}+' 2.6.3'{$endif}
  {$ifdef VER2_6_4}+' 2.6.4'{$endif}
  {$ifdef VER2_7_0}+' 2.7.0'{$endif}
  {$ifdef VER2_7_1}+' 2.7.1'{$endif}
{$else}
  {$ifdef VER90}  'Delphi 2'{$endif}
  {$ifdef VER100} 'Delphi 3'{$endif}
  {$ifdef VER120} 'Delphi 4'{$endif}
  {$ifdef VER130} 'Delphi 5'
    {$else}
    {$if defined(VER140)}
      {$ifdef LINUX}'Kylix 3'{$else}'Delphi 6'{$endif}
    {$elseif defined(VER150)} 'Delphi 7'
    {$elseif defined(VER160)} 'Delphi 8'
    {$elseif defined(VER170)} 'Delphi 2005'
    {$elseif defined(VER185)} 'Delphi 2007'
    {$elseif defined(VER180)} 'Delphi 2006'
    {$elseif defined(VER200)} 'Delphi 2009'
    {$elseif defined(VER210)} 'Delphi 2010'
    {$elseif defined(VER220)} 'Delphi XE'
    {$elseif defined(VER230)} 'Delphi XE2'
    {$elseif defined(VER240)} 'Delphi XE3'
    {$elseif defined(VER250)} 'Delphi XE4'
    {$elseif defined(VER260)} 'Delphi XE5'
    {$elseif defined(VER270)} 'Delphi XE6'
    {$else} 'Delphi unbekannt'
  {$endif}
{$endif}
{$ifdef CPU64}
  +' 64 bit'
{$endif}
end;
Gruss Oldmann

Delphi.Narium 12. Mai 2020 12:47

AW: PDF Listing mit SynPDF
 
Delphi-Quellcode:
function GetDelphiCompilerVersion: RawUTF8;
begin
  result :=
{$ifdef FPC}
  'Free Pascal'
  {$ifdef VER2_4_0}+' 2.4.0'{$endif}
  {$ifdef VER2_4_2}+' 2.4.2'{$endif}
  {$ifdef VER2_4_3}+' 2.4.3'{$endif}
  {$ifdef VER2_4_4}+' 2.4.4'{$endif}
  {$ifdef VER2_5_0}+' 2.5.0'{$endif}
  {$ifdef VER2_5_1}+' 2.5.1'{$endif}
  {$ifdef VER2_6_0}+' 2.6.0'{$endif}
  {$ifdef VER2_6_1}+' 2.6.1'{$endif}
  {$ifdef VER2_6_2}+' 2.6.2'{$endif}
  {$ifdef VER2_6_3}+' 2.6.3'{$endif}
  {$ifdef VER2_6_4}+' 2.6.4'{$endif}
  {$ifdef VER2_7_0}+' 2.7.0'{$endif}
  {$ifdef VER2_7_1}+' 2.7.1'{$endif}
{$else}
  {$ifdef VER90}  'Delphi 2'{$endif}
  {$ifdef VER100} 'Delphi 3'{$endif}
  {$ifdef VER120} 'Delphi 4'{$endif}
  {$ifdef VER130} 'Delphi 5'
  {$else}
    {$if defined(VER140)}
      {$ifdef LINUX}'Kylix 3'{$else}'Delphi 6'{$endif}
    {$elseif defined(VER150)} 'Delphi 7'
    {$elseif defined(VER160)} 'Delphi 8'
    {$elseif defined(VER170)} 'Delphi 2005'
    {$elseif defined(VER185)} 'Delphi 2007'
    {$elseif defined(VER180)} 'Delphi 2006'
    {$elseif defined(VER200)} 'Delphi 2009'
    {$elseif defined(VER210)} 'Delphi 2010'
    {$elseif defined(VER220)} 'Delphi XE'
    {$elseif defined(VER230)} 'Delphi XE2'
    {$elseif defined(VER240)} 'Delphi XE3'
    {$elseif defined(VER250)} 'Delphi XE4'
    {$elseif defined(VER260)} 'Delphi XE5'
    {$elseif defined(VER270)} 'Delphi XE6'
    {$else} 'Delphi unbekannt' <-- fehlt hier nicht ein {$endif}?
  {$endif}
{$endif}
{$ifdef CPU64}
  +' 64 bit'
{$endif}
end;

himitsu 12. Mai 2020 14:22

AW: PDF Listing mit SynPDF
 
Das
Delphi-Quellcode:
{$else} 'Delphi unbekannt'
war von mir, aber da es nur an die vielen
Delphi-Quellcode:
{$elseif defined(VER270)} 'Delphi XE6'
angehängt wurde, ist dort kein zusätzliches ENDIF/IFEND nötig.

Delphi.Narium 12. Mai 2020 14:31

AW: PDF Listing mit SynPDF
 
Also so?
Delphi-Quellcode:
function GetDelphiCompilerVersion: RawUTF8;
begin
  result :=
{$ifdef FPC}
  'Free Pascal'
  {$ifdef VER2_4_0}+' 2.4.0'{$endif}
  {$ifdef VER2_4_2}+' 2.4.2'{$endif}
  {$ifdef VER2_4_3}+' 2.4.3'{$endif}
  {$ifdef VER2_4_4}+' 2.4.4'{$endif}
  {$ifdef VER2_5_0}+' 2.5.0'{$endif}
  {$ifdef VER2_5_1}+' 2.5.1'{$endif}
  {$ifdef VER2_6_0}+' 2.6.0'{$endif}
  {$ifdef VER2_6_1}+' 2.6.1'{$endif}
  {$ifdef VER2_6_2}+' 2.6.2'{$endif}
  {$ifdef VER2_6_3}+' 2.6.3'{$endif}
  {$ifdef VER2_6_4}+' 2.6.4'{$endif}
  {$ifdef VER2_7_0}+' 2.7.0'{$endif}
  {$ifdef VER2_7_1}+' 2.7.1'{$endif}
{$else}
  {$ifdef VER90}  'Delphi 2'{$endif}
  {$ifdef VER100} 'Delphi 3'{$endif}
  {$ifdef VER120} 'Delphi 4'{$endif}
  {$ifdef VER130} 'Delphi 5'
  {$else}
    {$if defined(VER140)}
      {$ifdef LINUX}'Kylix 3'{$else}'Delphi 6'{$endif}
    {$elseif defined(VER150)} 'Delphi 7'
    {$elseif defined(VER160)} 'Delphi 8'
    {$elseif defined(VER170)} 'Delphi 2005'
    {$elseif defined(VER185)} 'Delphi 2007'
    {$elseif defined(VER180)} 'Delphi 2006'
    {$elseif defined(VER200)} 'Delphi 2009'
    {$elseif defined(VER210)} 'Delphi 2010'
    {$elseif defined(VER220)} 'Delphi XE'
    {$elseif defined(VER230)} 'Delphi XE2'
    {$elseif defined(VER240)} 'Delphi XE3'
    {$elseif defined(VER250)} 'Delphi XE4'
    {$elseif defined(VER260)} 'Delphi XE5'
    {$elseif defined(VER270)} 'Delphi XE6'
    {$else} 'Delphi unbekannt' {$endif}
  {$endif}
  {$ifdef CPU64}
    +' 64 bit'
  {$endif}
end;
Und dann fehlt ein {$endif}.

Und genau das besagt dir von oldmann beschriebene Fehlermeldung.

himitsu 12. Mai 2020 14:36

AW: PDF Listing mit SynPDF
 
siehe Post #4
dort waren 3x IFEND/ENDIF danach.

In diesen Code hatte ich die Zeile eingefügt.
müsste angepasst werden, falls das noch der Code aus einer uralten SynPDF-Version war.

Delphi.Narium 12. Mai 2020 15:02

AW: PDF Listing mit SynPDF
 
Schön, und wo ist jetzt der Fehler?

Habe nur den Quelltext von oben genommen und versucht den Fehler darin zu finden.

Dass Du da was ergänzt hast, habe ich auch verstanden.

Und bei der Umsetzung Deines Vorschlages und der damit verbundenen Ergänzung ist bei oldmann nun ein Fehler aufgetreten.

Was ist jetzt falsch?

Das Original, Deine Ergänzung oder die Art der Umsetzung Deiner Ergänzung?

PS:
Und vermutlich ist bei der Umsetzung ein {$ifend} verlorengegangen.
Delphi-Quellcode:
// function GetDelphiCompilerVersion: RawUTF8;
function GetDelphiCompilerVersion: String;
begin
  result :=
{$ifdef FPC}
  'Free Pascal'
  {$ifdef VER2_4_0}+' 2.4.0'{$endif}
  {$ifdef VER2_4_2}+' 2.4.2'{$endif}
  {$ifdef VER2_4_3}+' 2.4.3'{$endif}
  {$ifdef VER2_4_4}+' 2.4.4'{$endif}
  {$ifdef VER2_5_0}+' 2.5.0'{$endif}
  {$ifdef VER2_5_1}+' 2.5.1'{$endif}
  {$ifdef VER2_6_0}+' 2.6.0'{$endif}
  {$ifdef VER2_6_1}+' 2.6.1'{$endif}
  {$ifdef VER2_6_2}+' 2.6.2'{$endif}
  {$ifdef VER2_6_3}+' 2.6.3'{$endif}
  {$ifdef VER2_6_4}+' 2.6.4'{$endif}
  {$ifdef VER2_7_0}+' 2.7.0'{$endif}
  {$ifdef VER2_7_1}+' 2.7.1'{$endif}
{$else}
  {$ifdef VER90}  'Delphi 2'{$endif}
  {$ifdef VER100} 'Delphi 3'{$endif}
  {$ifdef VER120} 'Delphi 4'{$endif}
  {$ifdef VER130} 'Delphi 5'
  {$else}
    {$if defined(VER140)}
      {$ifdef LINUX}'Kylix 3'{$else}'Delphi 6'{$endif}
    {$elseif defined(VER150)} 'Delphi 7'
    {$elseif defined(VER160)} 'Delphi 8'
    {$elseif defined(VER170)} 'Delphi 2005'
    {$elseif defined(VER185)} 'Delphi 2007'
    {$elseif defined(VER180)} 'Delphi 2006'
    {$elseif defined(VER200)} 'Delphi 2009'
    {$elseif defined(VER210)} 'Delphi 2010'
    {$elseif defined(VER220)} 'Delphi XE'
    {$elseif defined(VER230)} 'Delphi XE2'
    {$elseif defined(VER240)} 'Delphi XE3'
    {$elseif defined(VER250)} 'Delphi XE4'
    {$elseif defined(VER260)} 'Delphi XE5'
    {$elseif defined(VER270)} 'Delphi XE6'
    {$else} 'Delphi unbekannt'
    {$ifend}  <-- Das gab es am Anfang mal, ist im letzten Post von oldmann aber nicht mehr enthalten.
  {$endif}
{$endif}
{$ifdef CPU64} +' 64 bit'{$endif}
end;
Jedenfalls lässt sich das jetzt mit Delphi 7 kompilieren.

mytbo 12. Mai 2020 16:22

AW: PDF Listing mit SynPDF
 
Das ist ein ältere SynPDF Version. Bei der Aktuellen steht am Ende:
Code:
...
{$elseif defined(VER330)}'Delphi 10.3 Rio'
{$elseif defined(VER340)}'Delphi 10.4 Next'
Vielleicht mal eine neuere Version laden.

Bis bald...
Thomas

himitsu 12. Mai 2020 17:16

AW: PDF Listing mit SynPDF
 
Es kann aber nicht schaden, wenn auch dort noch ein ELSE rein kommt,
mit einer "unbekannt"-Konstante oder wenigstens mit einem
Delphi-Quellcode:
{$ELSE} {$MESSAGE Fatal 'Delphi-Version not supported'}
,
damit es nicht bei Version 10.5 schonwieder "unverständlich" abraucht.

oldmann 13. Mai 2020 10:27

AW: PDF Listing mit SynPDF
 
Hallo,

mytbo schreibt von einer neuen Version mit
...
{$elseif defined(VER330)}'Delphi 10.3 Rio'
{$elseif defined(VER340)}'Delphi 10.4 Next'

wo kann man die heruterladen ?

Gruss Oldmann

Delphi.Narium 13. Mai 2020 11:09

AW: PDF Listing mit SynPDF
 
Bei Google suchenSYNPDF download 1. Ergebnis

Hobbycoder 13. Mai 2020 11:54

AW: PDF Listing mit SynPDF
 
Zitat:

Zitat von oldmann (Beitrag 1464449)
wo kann man die heruterladen ?

Gruss Oldmann

Ich habe dir das doch in Post #6 bereits geschrieben.
Und in Post #8 hast du geantwortet:
Zitat:

Zitat von oldmann (Beitrag 1464280)
Ich habe mir die neue Version heruntergeladen.
Es kommen die gleichen 2 Fehler die ich zuletzt beschrieben habe.

:gruebel::gruebel:


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:47 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz