2012-03-16 4 views
6

मुझे 32-बिट एक्सेल ऐड-इन ऐप में एक प्रकार की लाइब्रेरी मिली है।32-बिट टाइपेलिब को 64-बिट प्रोजेक्ट में स्थानांतरित करने के लिए कैसे करें (नामकरण को रोकने के दौरान)

मुझे पूरे ऐप को 64-बिट में अनुवाद करने की आवश्यकता है।

enter image description here

मैं सिर्फ typelib पेस्ट कॉपी नहीं कर सकते, क्योंकि GUID के पहले से ही स्थापित 32-बिट अनुप्रयोग, नामकरण के लिए डिट्टो के साथ संघर्ष होगा।
एप्लिकेशन को 64 बिट तक अनुवाद करने का सबसे अच्छा तरीका क्या है जो नाम-संघर्ष से बचाता है?

या क्या कोई ऐसी व्यवस्था है जो नाम हल करती है- और GUID-clashes स्वचालित रूप से जिन्हें मैं नहीं जानता?

+0

[विंडोज 64-बिट रजिस्ट्री बनाम। 32-बिट रजिस्ट्री] (http://stackoverflow.com/questions/869783/windows-64-bit-registry-v-s-32-bit-registry) मदद कर सकता है। – kobik

+0

तो आपके पास 32 बिट बिल्ड कॉन्फ़िगरेशन और 64 बिट बिल्ड कॉन्फ़िगरेशन वाला XE2 ऐप है, और आप बस कॉन्फ़िगरेशन और पुनर्निर्माण स्विच स्विच करते हैं। सही? यदि डेविड का जवाब सही है (जैसा कि मुझे संदेह है) तो यह सब कुछ है। –

+0

@WarrenP यह है। मैंने इसे एक्सेल COM एड-इन के साथ नहीं किया है (फिर भी, यह मेरी TODO सूची पर बहुत अधिक है), लेकिन मैंने इसे कुछ साल पहले खोल एक्सटेंशन के साथ किया था। साफ बात यह है कि आप प्रत्येक सम्मान में समान कोड का उपयोग करते हैं और केवल x86 या x64 को लक्षित करते हैं। कोई सशर्त संकलन बिल्कुल आवश्यक नहीं है। –

उत्तर

11

32 और 64 बिट COM सर्वर विभिन्न रजिस्ट्री दृश्यों में पंजीकृत हैं। तो 32 बिट प्रक्रियाओं और 64 बिट प्रक्रियाएं अलग-अलग GUID नामस्थानों में मौजूद हैं। दूसरे शब्दों में आप 32 और 64 बिट संस्करण दोनों के लिए एक ही GUID का उपयोग करते हैं। रजिस्ट्री पुनर्निर्देशक बाकी करता है।

+0

धन्यवाद डेविड, मुझे संदेह था (और उम्मीद थी) कि यह मामला होगा। – Johan

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

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