AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

PDF Listing mit SynPDF

Ein Thema von oldmann · begonnen am 11. Mai 2020 · letzter Beitrag vom 13. Mai 2020
Antwort Antwort
Seite 2 von 3     12 3      
oldmann

Registriert seit: 10. Okt 2008
Ort: Weyhe
152 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#11

AW: PDF Listing mit SynPDF

  Alt 12. Mai 2020, 09:14
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
  Mit Zitat antworten Zitat
Benutzerbild von Moombas
Moombas

Registriert seit: 22. Mär 2017
Ort: bei Flensburg
525 Beiträge
 
FreePascal / Lazarus
 
#12

AW: PDF Listing mit SynPDF

  Alt 12. Mai 2020, 11:30
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.
Der Weg ist das Ziel aber man sollte auf dem Weg niemals das Ziel aus den Augen verlieren.

Geändert von Moombas (12. Mai 2020 um 11:34 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#13

AW: PDF Listing mit SynPDF

  Alt 12. Mai 2020, 11:32
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
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
oldmann

Registriert seit: 10. Okt 2008
Ort: Weyhe
152 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#14

AW: PDF Listing mit SynPDF

  Alt 12. Mai 2020, 13:42
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
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.490 Beiträge
 
Delphi 7 Professional
 
#15

AW: PDF Listing mit SynPDF

  Alt 12. Mai 2020, 13:47
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;
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#16

AW: PDF Listing mit SynPDF

  Alt 12. Mai 2020, 15:22
Das {$else} 'Delphi unbekannt' war von mir, aber da es nur an die vielen {$elseif defined(VER270)} 'Delphi XE6' angehängt wurde, ist dort kein zusätzliches ENDIF/IFEND nötig.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.490 Beiträge
 
Delphi 7 Professional
 
#17

AW: PDF Listing mit SynPDF

  Alt 12. Mai 2020, 15:31
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.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#18

AW: PDF Listing mit SynPDF

  Alt 12. Mai 2020, 15:36
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.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.490 Beiträge
 
Delphi 7 Professional
 
#19

AW: PDF Listing mit SynPDF

  Alt 12. Mai 2020, 16:02
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.
  Mit Zitat antworten Zitat
mytbo

Registriert seit: 8. Jan 2007
472 Beiträge
 
#20

AW: PDF Listing mit SynPDF

  Alt 12. Mai 2020, 17:22
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
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz