![]() |
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 |
AW: PDF Listing mit SynPDF
Müsste die Logik nicht so sein (nutze das mit {} aktuell nicht):
Code:
Dein else steht meiner Ansicht nach "alleine" da. Also bei dir:
{$ifdef VER2_7_1}+' 2.7.1'{$else}was anderes {$endif}
Delphi-Quellcode:
Wie himitsu schrieb ist das bei dem kleinen Ausschnitt jedoch schwer zu beurteilen wozu dein else etc. gehören soll.
{$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} |
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 |
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:
Gruss Oldmann
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; |
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; |
AW: PDF Listing mit SynPDF
Das
Delphi-Quellcode:
war von mir, aber da es nur an die vielen
{$else} 'Delphi unbekannt'
Delphi-Quellcode:
angehängt wurde, ist dort kein zusätzliches ENDIF/IFEND nötig.
{$elseif defined(VER270)} 'Delphi XE6'
|
AW: PDF Listing mit SynPDF
Also so?
Delphi-Quellcode:
Und dann fehlt ein {$endif}.
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 genau das besagt dir von oldmann beschriebene Fehlermeldung. |
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. |
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:
Jedenfalls lässt sich das jetzt mit Delphi 7 kompilieren.
// 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; |
AW: PDF Listing mit SynPDF
Das ist ein ältere SynPDF Version. Bei der Aktuellen steht am Ende:
Code:
Vielleicht mal eine neuere Version laden.
...
{$elseif defined(VER330)}'Delphi 10.3 Rio' {$elseif defined(VER340)}'Delphi 10.4 Next' Bis bald... Thomas |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:09 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