We have a large application (20 man years work) written in Visual Basic for DOs (but mostly follows Quick basic rules) with some assembler code. We are looking at the feasibility of converting to Visual Basic 6.0 (.NET looks too incompatible). We are completely ignorant of how (or even if it is possible) to call assembler routines from VB. Could someone point us in the correct direction of where we may find out about calling assembler from VB and how windows API's are called from assembler.

Thankyou,
Posted on 2002-03-31 07:13:27 by leon ball
either use COM via the IDispatch interface or call them directly by using an API declare
Posted on 2002-03-31 07:18:21 by Hiroshimator
You need to put your asm functions into a dll. They need to be in stdcall format. Then you can call them the same way as you call any Windows API function. To find out how to call windows APIs from asm, check out Iczelion's tutorials.

As for converting your VB app to VB6, it shouldn't be too difficult, but there will be some things that need changing. If you have VB specific questions, they are out of the scope of this forum, so either post the question to the Heap, or PM me directly. Calling asm functions from VB is straight foward, but there are a couple of things you have to watch out for.
Posted on 2002-03-31 20:48:39 by sluggy
VB isn't limited to late binding, so IDispatch isn't necessaryVB can early bind to any interface. it just reads the type lib and follows the prototype.
Posted on 2002-03-31 23:18:18 by Ernie