2012-11-01 12 views
11

चलाना बंद कर दिया है हम अपने कार्यक्रम में पुराने msado15.dll का उपयोग कर रहे थे। और हम इसे #import "msado15.dll" आयात करते थे। अब कुछ ही दिन पहले हमने विंडोज 8 में अपग्रेड किया था। और हां, हमारे सॉफ़्टवेयर ने विंडोज 7 पर काम करना बंद कर दिया था जिसमें सर्विस पैक 1 स्थापित नहीं था। इससे पहले जब हम विंडोज 7 का उपयोग कर रहे थे, हमने सर्विस पैक 1 में अपग्रेड किया था और एक ही समस्या हो रही थी इसलिए हमने सभी मशीनों से विंडोज 7 के लिए सर्विस पैक 1 को अनइंस्टॉल किया और सब ठीक काम किया।COM msado15.dll प्रोग्राम

लेकिन Windows 8 के साथ मैं वे पहले से ही msado15.dll बदल दिया है लगता है। मैंने कुछ शोध ऑनलाइन किया और उन्होंने कहा कि हमें आयात को msado60.tlb से बदलना चाहिए, लेकिन यह हमारे संकलन तोड़ने के साथ भी काम नहीं करता है।

यह भी कोशिश की

import "c:\program Files\Common Files\system\ado\msado60.tlb" rename_namespace("ADOCG") rename("EOF","EndofFile") 

माइक्रोसॉफ्ट Link द्वारा सुझाव दिया गया है कि हम कैसे

import "c:\program Files\Common Files\system\ado\msado15.dll" rename_namespace("ADOCG") rename("EOF","EndofFile") 

मैं इसे बदल दिया है

import "c:\program Files\Common Files\system\ado\msado28.tlb" rename_namespace("ADOCG") rename("EOF","EndofFile") 

& को ++ पर्यावरण हमारे सी में उल्लेख किया है। लेकिन फिर भी यह XP मशीनों & विंडोज 7 मशीनों पर काम करता है जिसमें सर्विस पैक 1 स्थापित नहीं है।

किसी भी एक उचित कदम है कि हम इतनी के रूप में पालन कर सकते हैं हमारे कार्यक्रम सर्विस पैक 1 के बिना विंडोज 7 पर चलाने के लिए और साथ ही पर खिड़कियों 8. सुझाव दे सकते हैं

अब कुछ दिनों के लिए इस मुद्दे के साथ फंस गया है । मदद की सराहना की जाएगी।

सादर

, सौरभ

+0

मैंने यह @ काम कैसे संभाला, थोड़ा अजीब था, लेकिन यह काम किया। मैंने पुराने वीएस -2008/विन 7 मशीन पर स्क्रैप प्रोजेक्ट से उत्पन्न msado15.dll-जेनरेट की गई tli और tlh फ़ाइलों को लिया, फिर केवल आयात विवरणों को पूरी तरह से बाहर निकाला। Stdafx.h शीर्षलेख में tlh शामिल है, td में stdafx.cpp खींच लिया गया है। यह मुझे पूरा करने के लिए कोई समझ नहीं आया। प्रत्येक पूर्ण निर्माण के साथ एक ही .dll s को खत्म करने के लिए। जैसे-जैसे यह निकलता है, यह भी कई अन्य समस्याओं को हल करता है। डुनो अगर यह आपके लिए काम करेगा, लेकिन नरक, तो आपने इस बिंदु से अजनबी चीजों की कोशिश की है। – WhozCraig

+0

हां बहुत बहुत धन्यवाद, यह वास्तव में सहायक था। हमने जो किया वह आपके द्वारा सुझाए गए समाधान के समान था। हमने पिछले संस्करण के msaso15.dll को विंडोज 7 के बिना SP1 संस्करण के लिया और आयात किया। और समस्या गायब हो गई। मुझे लगता है कि इसका मतलब है कि हम अभी भी पुराने msado15.dll का उपयोग कर रहे हैं। लेकिन जब तक यह काम करता है हम खुश हैं। एक बार फिर धन्यवाद। – Saurabh

+0

आप शायद DLL (per'se) का उपयोग नहीं कर रहे हैं। आप डीएलएल की टाइप लाइब्रेरी में परिभाषित इंटरफेस और सीएलएसआईडी का उपयोग कर रहे हैं। CoCreateInstance() समय पर उपयोग किया जाने वाला वास्तविक रनटाइम या तो आपके द्वारा पुनर्वितरण योग्य एमएसआई के माध्यम से स्थापित किया जाता है, या सिस्टम पर पहले से मौजूद है। मैंने बस मध्य व्यक्ति को लिया और टीएलएच/टीएलआई फाइलों को एक बार उत्पन्न किया, फिर पूरी आयात तंत्र पूरी तरह से गिरा दिया और टीएलएच/टीएलआई फाइलों को सीधे परियोजना के स्रोत बेस में चेक किया। – WhozCraig

उत्तर

0

यह सौरभ की टिप्पणी के अनुसार हल किया गया था:

हम क्या समाधान आप ने सुझाव दिया के समान था। हमने msaso15.dll पिछले i.e. विंडोज 7 के बिना SP1 संस्करण के बिना लिया और आयात किया। और समस्या गायब हो गई। मुझे लगता है कि इसका मतलब है कि हम अभी भी पुराने msado15.dll का उपयोग कर रहे हैं। लेकिन जब तक यह काम करता है हम खुश हैं।

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