4
votes

We have been working on our ActiveX grid control since 2000 and have a lot of happy customers. The control is still supported, but the main problem we and our customers have recently faced is the 64-bit editions of MS Office VBA our grid control is widely used in. The problem is that our OCX is 32-bit as it is developed/compiled in Visual Basic 6 which cannot produce 64-bit code - at least, in its original form.

The question is: Is there a way to recompile our existing VB6 project as a 64-bit ActiveX control? Is it possible to do that from VB6 using say an add-in or modification of VB6 IDE, or are there other tools like command line compilers for that? Maybe, another dev environment like RealBasic which can produce 64-bit code?

Sure we know that the source code (mainly API calls) should be also updated, but in this question we ask about the general possibility to create 64-bit executable OCX from VB6 source code.

Feel free to post any ideas regarding the problem, even after months from the day of publishing.

2
That's not possible. Either retire it or move to a different language, like VB.NET.Hans Passant
@HansPassant, We already have a similar WinForms grid control, but we need to do that exactly for ActiveX.TecMan
Migrate the code to VB.NET and use COM Interop to preserve compatibility with existing clients.R.J. Dunnill

2 Answers

1
votes

I'm sorry to say that it's simply not possible to create a 64 bit control with VB6.

One workaround might be to create a 64 bit user control in VB.NET and then use interop to host your 32 bit control within it but it's a terrible kludge and not worth the effort.

0
votes

The only hope and possible solution to this problem is the RAD Basic project. Carles Royan running this development is doing his best to provide us with the ability to compile ActiveXs for the 64-bit platform. Perhaps, we will see an alpha release of RAD Basic capable of doing this in the second half of 2021. I'll update this answer when this happens.