मेरे पास एक फ़ाइल में विभिन्न डेल्फी संस्करणों को संभालने के लिए विभिन्न परिभाषित विवरण हैं। इसमें एक इकाई में फ़ाइल "शामिल" है। कंपाइलर फ़ाइल में शामिल परिभाषाओं का सम्मान करता है लेकिन आईडीई नहीं। इसके परिणामस्वरूप उपयोग इकाइयों में कुछ इकाइयों को जोड़ने के परिणामस्वरूप जो पहले से ही हो सकते हैं - एक डेफिन कंपाइलर निर्देश में संलग्न है।सशर्त रूप से कुछ इकाइयों को कैसे शामिल करें
इसलिए, यदि एक यूनिट जोड़ा गया है जो पूर्व डेल्फी XE3 में उपलब्ध नहीं है तो आपको बड़ी समस्या होगी क्योंकि यदि आप आईडीई को इकाई जोड़ते हैं और इसे पूर्व डेल्फी XE3 संस्करण के साथ संकलित नहीं कर सकते हैं जो नहीं करता है उस इकाई है।
उदा। एक इकाई जिसमें एक इकाई के साथ एक TActionList है।
MYINCLUDE.INC
केवल एक{$DEFINE DELPHIXE3}
परिभाषित एक नमूना इकाई की तरह
unit Unit1; {$I MYINCLUDE.INC} uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, {$IFDEF DELPHIXE3} System.Actions, {$ENDIF} Vcl.ActnList; ...
लग सकता है एक के बाद बचाने आईडीई
System.Actions
कहते हैं का उपयोग करता है सूची के अंत में जोड़ने के जो बारी परिणामों में में एक पहचानकर्ता संकलक त्रुटि reeclared। यदि आप इसे हटाते हैं तो आईडीई इसे फिर से सहेज लेगा।
मैंने अभी रिपोर्ट की है कि QC#111178 पर।
क्या उस बग के लिए कोई कामकाज है?
ईसाई
आईडीई हमेशा थोड़ा हंसमुख पार्सिंग सशर्त रहा है। मैं आपकी क्यूसी रिपोर्ट को डिज़ाइन के रूप में बंद होने की उम्मीद करता हूं। इस मुद्दे को हमेशा एक ही प्रतिक्रिया के साथ बार-बार उठाया गया है। –
आईडीई हमेशा * .dpk फ़ाइलों में सशर्त उलझन में है लेकिन यह समस्या कुछ नया और निराशाजनक है। – kludg
@ सर्ग यह हमेशा .pas फ़ाइलों में भी इस तरह से व्यवहार किया। यहां कुछ भी नया नहीं है। हमेशा के लिए इस तरह से किया गया था। –