Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi {$ifend} <> {$endif} (https://www.delphipraxis.net/193495-%7B%24ifend%7D-%7B%24endif%7D.html)

EWeiss 7. Aug 2017 04:11

AW: {$ifend} <> {$endif}
 
Zitat:

Zitat von jaenicke (Beitrag 1378218)
Zitat:

Zitat von EWeiss (Beitrag 1378197)

Was bedeuten die Ausrufezeichen bei Interface im Icon? (Structur Fenster)

Dass es ein Interface ist. ;-)

Siehe hier:
http://docwiki.embarcadero.com/RADSt...Structure_View
In der Erklärung welche Möglichkeiten ist dort zur Anzeige gibt sieht das genauso aus. Außerdem sieht jedes Interface so aus. Das ist also vollkommen in Ordnung so.

Ok das wusste ich nicht sieht mir irgendwie nach einer Warnung aus.
Deshalb die frage.

gruss

EWeiss 7. Aug 2017 11:12

AW: {$ifend} <> {$endif}
 
Zitat:

Durch Setzen von {$LEGACYIFEND ON} kann man sicherstellen, daß der Code auch unter Delphi-Versionen vor XE4 compiliert.
Nein kann man nicht.
D2010 kennt die Directive nicht musste das noch los werden.

gruss

Uwe Raabe 7. Aug 2017 11:23

AW: {$ifend} <> {$endif}
 
Zitat:

Zitat von EWeiss (Beitrag 1378245)
Zitat:

Durch Setzen von {$LEGACYIFEND ON} kann man sicherstellen, daß der Code auch unter Delphi-Versionen vor XE4 compiliert.
Nein kann man nicht.
D2010 kennt die Directive nicht musste das noch los werden.

Kann man schon (sicherstellen das die IF-Konstrukte compilieren). Damit die älteren Compiler nicht über das LEGACYIFEND meckern, setzt man das eben nicht in den Quellcode, sondern aktiviert bei den neueren Compilern (die älteren haben sie halt nicht) die entsprechende Compiler-Option im Projekt. Das hat noch den Vorteil, daß es für alle Units übergreifend gilt.

EWeiss 7. Aug 2017 11:28

AW: {$ifend} <> {$endif}
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1378247)
Zitat:

Zitat von EWeiss (Beitrag 1378245)
Zitat:

Durch Setzen von {$LEGACYIFEND ON} kann man sicherstellen, daß der Code auch unter Delphi-Versionen vor XE4 compiliert.
Nein kann man nicht.
D2010 kennt die Directive nicht musste das noch los werden.

Kann man schon (sicherstellen das die IF-Konstrukte compilieren). Damit die älteren Compiler nicht über das LEGACYIFEND meckern, setzt man das eben nicht in den Quellcode, sondern aktiviert bei den neueren Compilern (die älteren haben sie halt nicht) die entsprechende Compiler-Option im Projekt. Das hat noch den Vorteil, daß es für alle Units übergreifend gilt.

Ahhh! Ok. Dann habe ich wieder was gelernt.

gruss

himitsu 7. Aug 2017 12:44

AW: {$ifend} <> {$endif}
 
Zitat:

Zitat von EWeiss (Beitrag 1378245)
Zitat:

Durch Setzen von {$LEGACYIFEND ON} kann man sicherstellen, daß der Code auch unter Delphi-Versionen vor XE4 compiliert.
Nein kann man nicht.
D2010 kennt die Directive nicht musste das noch los werden.

gruss

Ab XE3/XE4

Stevie 7. Aug 2017 14:44

AW: {$ifend} <> {$endif}
 
Oder einfach:
Delphi-Quellcode:
{$IF CompilerVersion >= 24.0}{$LEGACYIFEND ON}{$IFEND}

EWeiss 7. Aug 2017 17:23

AW: {$ifend} <> {$endif}
 
Zitat:

Zitat von Stevie (Beitrag 1378267)
Oder einfach:
Delphi-Quellcode:
{$IF CompilerVersion >= 24.0}{$LEGACYIFEND ON}{$IFEND}

Ich habe so viele IF im code das ich gar nicht mehr weis wo mir der Kopf steht.
Davon ab ist es eigentlich gleich wenn der Code unter 64Bit kompiliert wird..

Das geht mit unter XE eh nicht.
Von daher ... egal.
Es ging mir nur darum das auch alle teile berücksichtig werden und nichts ausgelassen wird beim kompilieren.

gruss


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:27 Uhr.
Seite 2 von 2     12   

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