2009-09-02 10 views
18

डेल्फी 2010 में, अगर मैं ऐसा करना चाहते हैं:डेल्फी 2010 के लिए कंपाइलर संस्करण क्या है?

{$IFDEF VER999} 
//some delphi 2010-specific code here 
{$ENDIF} 

कौन-सा संस्करण # मैं "999" के स्थान पर उपयोग करने के लिए की जरूरत है?

+0

मुझे लगता है कि आप ifdef मतलब है। – TrueWill

+0

हां गलती है ... बस एक टाइपो। धन्यवाद – JosephStyons

+0

देखें http://stackoverflow.com/questions/750801/ – ulrichb

उत्तर

17

{$ ifdef VER210}

+5

इस फ़ाइल में लगभग हमेशा नवीनतम परिभाषाएं होती हैं: http://jcl.svn.sourceforge.net/viewvc/jcl/trunk/jcl/source/include/jedi.inc?view= मार्कअप –

+1

@JeroenWiertPluimers, लिंक मर चुका है। –

+0

@ToonKrijthe जेसीएल/जेईडीआई कुछ समय पहले एसएफ से गिटहब में चले गए। यह वह है जो बेहद लंबे समय तक नहीं चलेगा और इसमें हाल ही में रिलीज़ किए गए संस्करण (कभी-कभी बीटा में वर्तमान संस्करण सहित) तक डेल्फी 1 के सभी संस्करण शामिल हैं, जिसमें किलिक्स और फ्रीपास्कल शामिल हैं: https://github.com/ प्रोजेक्ट-जेडीआई/जेडीआई/ब्लॉब/मास्टर/जेडीआईएनसीसी –

58

यहाँ list of compiler versions है:

{$IFDEF VER40} - Turbo pascal 4 
{$IFDEF VER50} - Turbo pascal 5 
{$IFDEF VER55} - Turbo pascal 5.5 
{$IFDEF VER60} - Turbo pascal 6 
{$IFDEF VER70} - Borland pascal 7 (And turbo pascal 1.5 for windows) 
{$IFDEF VER80} - Delphi 1 
{$IFDEF VER90} - Delphi 2 
{$IFDEF VER100} - Delphi 3 
{$IFDEF VER120} - Delphi 4 
{$IFDEF VER130} - Delphi 5 
{$IFDEF VER140} - Delphi 6 
{$IFDEF VER150} - Delphi 7 
{$IFDEF VER160} - Delphi 8 
{$IFDEF VER170} - Delphi 2005 
{$IFDEF VER180} - Delphi 2006 
{$IFDEF VER180} - Delphi 2007 
{$IFDEF VER185} - Delphi 2007 
{$IFDEF VER200} - Delphi 2009 
{$IFDEF VER210} - Delphi 2010 
{$IFDEF VER220} - Delphi XE 
{$IFDEF VER230} - Delphi XE2 
{$IFDEF VER240} - Delphi XE3 
{$IFDEF VER250} - Delphi XE4 
{$IFDEF VER260} - Delphi XE5 
{$IFDEF VER265} - Appmethod 1.0 
{$IFDEF VER270} - Delphi XE6 
{$IFDEF VER280} - Delphi XE7 
{$IFDEF VER290} - Delphi XE8 
{$IFDEF VER300} - Delphi 10 Seattle 
{$IFDEF VER310} - Delphi 10.1 Berlin 
{$IFDEF VER320} - Delphi 10.2 Tokyo 

डेल्फी 2007 में, VER180 और VER185दोनों परिभाषित कर रहे हैं। यह डेल्फी 2006 के साथ पिछड़ा संगतता के लिए था, और यह सुनिश्चित करने के लिए कि आप विशेष रूप से डी 2007 का पता लगा सकते हैं।

मुझे यकीन नहीं है कि उन्होंने '06 और '07 के बीच क्यों किया, लेकिन अन्य रिलीज के लिए नहीं। मुझे असंगत लगता है (लेकिन यह नहीं है - नीचे बैरी केली की टिप्पणी देखें)।

+9

2006 और 2007 के बीच की बात यह है कि 2007 में कंपाइलर ने उसी डीसीयू प्रारूप का उपयोग किया था, इसलिए लोगों के घटक अभी भी काम करेंगे। –

+1

क्या कोई इस सूची में डेल्फी एक्सई 3 जोड़ देगा? मैं अपने VER240 अनुमान लगा रहा हूँ? – sergeantKK

+1

XE3 कहा, स्रोत http://delphi.wikia.com/wiki/CompilerVersion_Constant था – JosephStyons

30

आप डेल्फी 6 के साथ काम कर रहे हैं और बाद में, आप CompilerVersion उपयोग कर सकते हैं:

{$IF CompilerVersion >= 18.5} 
//some code only compiled for Delphi 2007 and later 
{$IFEND} 
 
Delphi 10.2 Tokyo - 32 
Delphi 10.1 Berlin - 31 
Delphi 10 Seattle - 30 
Delphi XE8   - 29 
Delphi XE7   - 28 
Delphi XE6   - 27 
Appmethod 1.0  - 26.5 
Delphi XE5   - 26 
Delphi XE4   - 25 
Delphi XE3   - 24 
Delphi XE2   - 23 
Delphi XE   - 22 
Delphi 2010  - 21 
Delphi 2009  - 20 
Delphi 2007  - 18.5 
Delphi 2006  - 18 
Delphi 2005  - 17 
Delphi 8   - 16 
Delphi 7   - 15 
Delphi 6   - 14 
+0

मैं जोड़ लिया है संकलक संस्करणों को शामिल किया है को शामिल किया है (XE3..XE7) – naXa

+0

कृपया, XE8 (2 9), आरएडी 10 सिएटल (30) और आरएडी 10.1 बर्लिन (31) – kami

+0

कंपाइलरवर्सन स्थिरांक का वैल्यू वही है जो VER ### परिभाषित है! – Nashev

8

यहाँ सशर्त परिभाषित करता है के साथ एक wiki page है।

1

जेसन की टिप्पणी के रूप में ही पंक्तियों के साथ अगर आप कोड डेल्फी के वर्तमान और पुराने संस्करणों में चलाने की आवश्यकता है कि पैदा कर रहे आप की तरह कुछ करने के लिए चाहते हो सकता है:

{$IF CompilerVersion > 18.5} 
    //Delphi 2009 or higher 
    //Unicode version of code 
{$ELSE} 
    //Delphi 2007 and earlier 
    //NON-Unicode version of code 
{$IFEND} 
+6

यदि सशर्त संकलन का कारण यूनिकोड या इसकी कमी है, तो '{$ IFDEF UNICODE}' का उपयोग करें। –

+0

सहमत हुए। बहुत स्पष्ट – TheSteven

+2

जब तक आप केवल डेल्फी 6+ का समर्थन कर रहे हैं। डेल्फी 6 से पहले {$ IF} नहीं है –

संबंधित मुद्दे