Ik ben deze week maar weer eens bezig om een 64-bit versie van een applicatie te maken.
De applicatie bestaat uit een ActiveX control geschreven in C++ en een schil daar omheen in VB.NET
Alle delen worden gecompileerd met VS2008sp1 voor .NETv3.5sp1
Ik compileer de ocx naar x64.
Volgens Dependency Walker is de ocx netjes 64-bit.
Ik registreer de ocx als volgt:
C:\Windows\System32\regsvr32 MapWinGIS.ocx
Vervolgens probeer ik de .NET wrappers te maken met aximp:
"C:\Program Files\Microsoft SDKs\Windows\v7.0\Bin\x64\aximp" mapwingis.ocx
De twee dlls die ik krijg zijn volgens Dependency Walker 32-bit.
Hoe maak ik nu wel 64-bit .NET wrappers?
Voor de 32-bit versie laat ik VS2008 de .NET wrapper genereren. Maar dat werkt alleen met de 32-bit versie van de ocx, omdat VS2008 geen 64-bit componenten ondersteund.
Uiteraard ben ik al een paar dagen aan het Googlen, maar ik kom geen antwoorden tegen waar ik wat mee kan. Wel kom ik dezelfde vraag (vaak ook door mij gesteld) veel tegen. Ik ben hier nl. al een hele tijd mee bezig
De applicatie bestaat uit een ActiveX control geschreven in C++ en een schil daar omheen in VB.NET
Alle delen worden gecompileerd met VS2008sp1 voor .NETv3.5sp1
Ik compileer de ocx naar x64.
Volgens Dependency Walker is de ocx netjes 64-bit.
Ik registreer de ocx als volgt:
C:\Windows\System32\regsvr32 MapWinGIS.ocx
Vervolgens probeer ik de .NET wrappers te maken met aximp:
"C:\Program Files\Microsoft SDKs\Windows\v7.0\Bin\x64\aximp" mapwingis.ocx
De twee dlls die ik krijg zijn volgens Dependency Walker 32-bit.
Hoe maak ik nu wel 64-bit .NET wrappers?
Voor de 32-bit versie laat ik VS2008 de .NET wrapper genereren. Maar dat werkt alleen met de 32-bit versie van de ocx, omdat VS2008 geen 64-bit componenten ondersteund.
Uiteraard ben ik al een paar dagen aan het Googlen, maar ik kom geen antwoorden tegen waar ik wat mee kan. Wel kom ik dezelfde vraag (vaak ook door mij gesteld) veel tegen. Ik ben hier nl. al een hele tijd mee bezig