2012-03-16 4 views
6

Mam bibliotekę typów w 32-bitowej aplikacji dodatku Excel.Jak przenieść 32-bitowy typelib do projektu 64-bitowego (przy jednoczesnym zapobieganiu namiestles)

Muszę przetłumaczyć całą aplikację na 64-bitową.

enter image description here

I nie można po prostu skopiować wkleić TypeLib, ponieważ GUID będzie kolidować z już zainstalowanych aplikacji 32-bitowych samo dotyczy nazewnictwa.
Jaki jest najlepszy sposób na przetłumaczenie aplikacji na 64-bitową w sposób, który pozwala uniknąć kolizji nazw?

A może jest jakiś mechanizm, który automatycznie rozwiązuje konflikt nazwy i GUID, o czym nie wiem?

+0

[Windows 64-bitowy rejestr vs.s. Rejestr 32-bitowy] (http://stackoverflow.com/questions/869783/windows-64-bit-registry-v-s-32-bit-registry) może pomóc. – kobik

+0

Masz więc aplikację XE2 z 32-bitową konfiguracją kompilacji i 64-bitową konfiguracją kompilacji, po prostu zmieniasz konfiguracje kompilacji i przebudowujesz. Dobrze? Jeśli odpowiedź Davida jest prawidłowa (jak podejrzewam, że tak jest), to wszystko na tym polega. –

+0

@WarrenP To wszystko. Nie zrobiłem tego z dodatkiem Excel COM (ale jest bardzo wysoki na mojej liście TODO), ale zrobiłem to z rozszerzeniem powłoki kilka lat temu. Chodzi o to, że używasz identycznego kodu pod każdym względem i po prostu celujesz na x86 lub x64. Nie jest wymagana żadna kompilacja warunkowa. –

Odpowiedz

11

32 i 64-bitowe serwery COM są zarejestrowane w różnych widokach rejestru. Zatem procesy 32-bitowe i 64-bitowe istnieją w rozłącznych przestrzeniach nazw GUID. Innymi słowy, używasz tego samego identyfikatora GUID dla wersji 32- i 64-bitowych. Resektor rejestru wykonuje resztę.

+0

Dzięki David, podejrzewałem (i miałem taką nadzieję), że tak będzie. – Johan

Powiązane problemy