डेल्फी में सशर्त परिभाषा 255 वर्णों तक सीमित है। इसका मतलब है कि यदि आपके पास परिभाषित 255 से अधिक वर्ण हैं, तो उन्हें अनदेखा कर दिया जाता है। जैसेसशर्त परिभाषाओं पर 255 वर्ण सीमा को कैसे दूर किया जाए?
तो सशर्त परिभाषित करता है के सेट:
Win32API;AlarmServerEngineVersion27;ImNotUsingOlderSimpleThread;EnableJclExceptionTracking;SaveExceptionsToDatabase;ShowExceptionForm;SNAPIN_NEEDS_NODE_DESCRIPTOR;VIRTUAL_TREES_MOUSE_DOWN_FOCUS_LAST;UseSQLServerLocking;SnapInFactoryFormClassIsOptional;Strict;SIFFCIO;Sqm
पिछले 3 परिभाषित करता है अनदेखी कर रहे हैं।
मुझे जो चाहिए वह परियोजना में सशर्त परिभाषा को परिभाषित करने का एक तरीका है, जबकि 255 वर्णों तक सीमित नहीं है।
मैंने सोचा शायद परियोजना स्रोत फ़ाइल को सशर्त परिभाषित करता चलती है, शायद के माध्यम से शामिल में फ़ाइल में शामिल हैं:
program ConsotoManager;
{$R *.RES}
{$R '..\Resource\Wumpa.res' '..\Resource\Wumpa.rc'}
{$DEFINE Win32API}
...
{$DEFINE Sqm}
{$DEFINE Strict}
uses
FastMM4,
Windows,
SysUtils,
दुर्भाग्य से यह does not 'काम करते हैं। कारण यह काम नहीं करता है कि आप सशर्त परिभाषाओं के लिए परिभाषित नहीं कर सकते हैं; फ़ाइल के अंत तक केवल अंतिम परिभाषित करता है।
तो, मैं पर 255 वर्ण सीमा को कैसे हटा सकता हूं सशर्त डेल्फी में परिभाषित करता है?
समस्या, ज़ाहिर है, कैसे परियोजना स्तर, को परिभाषित करता है, जबकि साझा स्रोत कोड फ़ाइलों (साझा फ़ाइलों परियोजना फ़ोल्डर के बाहर, अपने स्वयं निर्देशिका में हैं) है है।
U + 2014 +1: एम डैश! –
समस्या फ़ाइलें साझा की गई हैं। उनके पास 15 साल की नई विशेषताएं हैं, और पिछली संगतता, जिन्हें प्रति-प्रोजेक्ट में चुना गया है या बाहर किया गया है। तो मैं '' VirtualTrees.pas' के शीर्ष करने के लिए जोड़ {$ Defines.inc शामिल} ', यह काम नहीं करेगा क्योंकि यह' खोजने के लिए Defines.inc' (के बाद से 'Defines.inc' बैठा है में सक्षम नहीं होगा मेरे प्रोजेक्ट के स्रोत फ़ोल्डर में। और अगर यह काम करता है, तो भी मैं लाइब्रेरी में एक ब्रेकिंग चेंज पेश करता हूं, क्योंकि अन्य परियोजनाओं में से कोई भी 'Defines.inc' फ़ाइल नहीं रखेगा। –
मैंने' सख्त 'को परिभाषित करना शुरू कर दिया है अन्य परिभाषित करता है सक्षम बनाते हैं। तो तुम 'Strict' जो अन्य परिभाषित करता है के कुछ सक्षम हो जाएगा परिभाषित कर सकते हैं,। मैं भी inuost' परिभाषित' ImNotUsingOlderSimpleThread', एक तरह से कीमती पात्रों को बचाने के लिए के रूप में सक्षम परिभाषित 'बनाया है। क्या मैं एक की जरूरत है प्रोजेक्ट में * "सशर्त परिभाषा" डालने के लिए रखें * जो सभी संकलित इकाइयों पर काम करता है, न केवल उस इकाई के अंत तक जब तक परिभाषित किया जाता है। –