2012-10-15 35 views
5

हाल ही में हमने डेल्फी 200 9 से डेल्फी एक्सई तक अपना कोड अपग्रेड किया और हमारे इंडी घटकों को अपडेट किया (सुनिश्चित नहीं है कि यह प्रासंगिक है)।TXMLDocument के लिए वैकल्पिक?

लेकिन तब से जब से एक्सएमएल फाइलों को लोड और सहेजते समय हमें विंडोज सर्वर 2003 मशीनों में त्रुटियां आई हैं।

XMLDoc.LoadFromFile() 
XMLDoc.SaveToFile() 

The following is the error

DLL msvcrt.dll विंडोज सर्वर 2003 (300kb या तो) अन्य ऑपरेटिंग सिस्टम पर 600kb से अधिक की तुलना में काफी छोटा है ... उस फ़ाइल में तो इसकी याद आ रही कुछ और उसके पैदा कर रहा त्रुटि ...

क्या कोई यह जानता है कि इसे कैसे ठीक किया जाए? या TXMLDocument का कोई विकल्प है जो मैं कोशिश कर सकता हूं?

+1

NativeXML या OmniXML पार्सर्स – teran

+1

पर नज़र डालें क्या आपने काम किया है कि फ़्लोटिंग पॉइंट से संबंधित फ़ंक्शन का संदर्भ क्यों दिया जाता है? लगता है जैसे आपको एक क्यूसी रिपोर्ट जमा करने की आवश्यकता है। –

+2

यह अक्सर उन ऐप्स में हुआ जो माइक्रोसॉफ्ट एक्सएमएल रनटाइम पर निर्भर करते हैं। एमएस एक्सएमएल का पुराना संस्करण होने से इसका कारण होगा। तथ्य यह है कि विंडोज 2003 सर्वर पर यह आपके साथ होता है जो मुझे इंगित करता है कि आपको वहां अपने एमएस एक्सएमएल की जांच करनी चाहिए और इसे अपग्रेड करना चाहिए। हालांकि, चूंकि इस तरह का बकवास मुझे पागल बनाता है, इसलिए मैंने एमएसएक्सएमएल के सभी उपयोग को हटा दिया है और अब मुझे एमएस एक्सएमएल के बारे में कोई चिंता नहीं है। मैं OmniXML का उपयोग करता हूं। –

उत्तर

3

डिफ़ॉल्ट रूप से, TXMLDocument/IXMLDocument विंडोज प्लेटफार्मों पर चलते समय एमएसएक्सएमएल COM इंटरफेस के आसपास सिर्फ एक रैपर है। न तो TXMLDocument और न ही _ftol2_sse() फ़ंक्शन का उपयोग करें, या यहां तक ​​कि msvcrt.dll से लिंक करें। आपकी परियोजना में कुछ और गलती है।

+0

ठीक है, मैंने त्रुटि संदेश कहां ट्रैक किया है और यह त्रुटि संदेश दोनों XMLDoc.LoadFromFile() और XMLDoc.SaveToFile() के दौरान दिखाया गया है। अब यह संभव है कि यह त्रुटि इन पंक्तियों से पहले हो रही है और तब तक या कुछ तब तक दिखाई नहीं दे रही है? – Trevor

+0

मेरे पास Windows 2003 सर्वर तक पहुंच नहीं है जहां मैं इसके कोड को डीबग कर सकता हूं। क्या आपके पास कोई सुझाव है कि मैं _ftol2_sse कह रहा हूं कि मैं कैसे ट्रैक कर सकता हूं? – Trevor

+0

ठीक है तो मैंने आपके अधिकार को निर्धारित किया है कि XMLDoc.LoadFromFile() XMLDoc.SaveToFile() अनिवार्य रूप से समस्या का कारण नहीं है, मुझे वास्तव में कठिन समय लगता है कि यह समस्या कहां और क्यों हो रही है। – Trevor

1

msvcrt.dll माइक्रोसॉफ्ट विजुअल सी ++ रनटाइम का हिस्सा है। मुझे लगता है कि आपको इस रनटाइम का पुराना (या यहां तक ​​कि नया भी) संस्करण मिला है जिसमें इस फ़ंक्शन को शामिल नहीं किया गया है।

अब आपको यह पता लगाना होगा कि यह फ़ंक्शन कहां कहलाता है। क्या आप अपनी परियोजना के साथ ओबीजे फाइलों को लिंक करते हैं या (अन्य) तृतीय पक्ष डीएल का उपयोग करते हैं?

1

अंतिम भाग ("क्या कोई विकल्प है?") का जवाब देने के लिए, आप जेडी कोड लाइब्रेरी की TJclSimpleXML कक्षा को देखना चाहेंगे। इसे किसी भी बाहरी डीएलएल की आवश्यकता नहीं है, काफी तेज़ है, और इसका उपयोग करना बहुत आसान है। इसके अलावा, इन दिनों जेसीएल और जेवीसीएल को वैसे भी होना चाहिए यदि आप डेल्फी में कोड करते हैं।

http://wiki.delphi-jedi.org/wiki/JEDI_Code_Library उनका पृष्ठ मेरा मानना ​​है। मैं सिएटल में सुनता हूं कि आप आईडीई एकीकृत पैकेज मैनेजर के माध्यम से इसे प्राप्त कर सकते हैं।

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