2010-05-14 11 views
6

मैं बजाय हर बार हमारे स्रोत कोड के निर्माण के हैं, इसलिए हमारे DCU फ़ाइलों को अंतिम उपयोगकर्ता के आवेदन लिंक हमारे VCL घटक को संशोधित कर रहा हूँ। हमारे पास सबकुछ काम कर रहा है, लेकिन मैं अपवाद उठाए जाने पर डीबगर को उपयोगकर्ता के कोड पर रोकना चाहता हूं। सबसे पहले यह हमारे डीसीयू में रुक जाएगा और सीपीयू विंडो खोल देगा। मैं डीसीयू फाइलों से डीबग जानकारी को हटाकर इसे रोकने में सक्षम था। लेकिन अब यह अभी भी उपयोगकर्ता कोड में नहीं रुकता है (जैसे DevExpress पुस्तकालयों और अन्य करते हैं)।सही डेल्फी संकलक स्विच उपयोगकर्ता के कोड में बंद करने के लिए, नहीं मेरी घटक के

निम्नलिखित स्क्रीनकास्ट एक छोटा उदाहरण है। पहली बार जब मैं DevExpress कोड में अपवाद का कारण बनता हूं, और डीबगर सही ढंग से मेरे बटन ईवेंट में बंद हो जाता है। दूसरी बार जब मैं अपने घटकों में अपवाद का कारण बनता हूं, लेकिन डीबगर में कॉल स्टैक पर मेरा बटन इवेंट नहीं होता है, और यह मुझे नहीं दिखाता कि समस्या कहां थी। कोई विचार क्यों?

http://screencast.com/t/NjhlOTRk

वर्तमान में DCU के निर्माण इन विकल्पों के साथ:

-$W+ -$D- -h -w -q 

अद्यतन: मेरी घटक और बटन घटना के बीच में TDataSet तरीकों इस व्यवहार का कारण बन रहे हैं। अगर मैं अपनी मेज का सीधा तरीका कहता हूं, तो मुझे अपेक्षित व्यवहार मिलता है। मुझे लगता है कि मैं इसके बारे में कुछ भी नहीं कर सकता, लेकिन मैं अभी भी उत्सुक हूं कि ऐसा क्यों होता है।

उत्तर

1

sourcecode बजाय DCU के निर्माण है, तो वहाँ कुछ विन्यास में गलत है।

dcus, ब्राउज़ रास्ते में स्रोत खोज पथ में होना चाहिए।

इस तरह यह संभव नहीं है के लिए संकलक DCUs का उपयोग नहीं करने के लिए, और आप डिबग अभी भी कर सकते हैं।

0

आप स्थापित करने की कोशिश की/unsetting है: परियोजना विकल्प -> डेल्फी संकलक -> संकलन -> 'उपयोग डिबग .dcus' (डिबगिंग उपधारा में)

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