wqweto / ModernSubclassingThunk

The Modern Subclassing Thunk (MST) for VB6
MIT License
18 stars 7 forks source link

64-bit VBA7 support #3

Open Greedquest opened 2 years ago

Greedquest commented 2 years ago

I know this is for VB6 not VBA. I'm just wondering if it's likely to be at all possible to get this working for 64 bit VBA. At the assembly level I think there start to be some key differences so I think the thunk code might have to change.

I'm not actually trying to subclass but I am trying to get some code working that uses WinAPI timers to call VBA methods and this approach you outline I'm pretty sure could allow the debugger to work cleanly in those (right now if I have an End statement in the callback method then that crashes the VBA host)

Shot in the dark asking! But I'm sure you know enough of the internals to figure it out ;)

wqweto commented 2 years ago

x64 support is planned in connection with (mostly) TB support but VBA7 x64 will have these too if possible.

There are some shenanigans going on with x64 VBA vtables I'm not sure if there is going to be a problem.

Unfortunately MSVC++ does not support inline x64 ASM so the plan is to rewrite all the thunks in C which will be much easier for me.

Using NASM and porting x86 ASM to x64 ASM is the other option.

loquat commented 1 month ago

will vba x64 version release in the near future?

wqweto commented 1 month ago

Highly unlikely as x64 TB does not need any of these anymore as it supports AddressOf operator on class methods.