Divide by Zero... on the point of command execution, remember that VisuaBasic is an interpretive language which uses the COM Arrays - which means thats rather than DarkBASIC Pro whos layering goes
DBPEXE <-> DLLCOMMANDS using single threaded operations just like C++
what VisualBASIC does is layer everything, so the commands you use are actually command objects for everything rather than token asm.
DarkBASIC and VisualBASIC are very similar languages due to thier structures and implimentation.
DarkBASIC Pro on the other hand is closer to Visual C++, especially on the fact that it uses single threaded commands ... i know i said it before but the difference being is this.
DBP you write something like
make object cube 1,100.0
do
y#=y#+4.0
yrotate object 1,wrapvalue(y#)
loop
now when DBP compiles what it'll do is create an ASM Binary in Windows 32bit Executable format.
first it'll reserve the instance memory allocation (16mb), then it'll create the DxDevice register and store the pointer use it the access the DxDevice instance from the dll.
after this it'll create a new instance for the object and store its pointer register followed by the creation which points to the cube function. Then this is followed by a global instruction loop with a single float register and addition and then using the DxDevice pointer again to access the rotation matrix and adjusting accordingly.
for obvious reasons there will be a pointer to the Basic3D DLL and Core DLL so that the instructions can be access by the instruction pointer.
The way VisualBASIC would achieve the same thing however, is first you have the token layer which accepts and translates the commands on the fly. You then have the selection of the Core function DLLs, there are about 7/9 in all if i remember which contain the entire COM system for all of the instructions.
Ontop of this you then have to load the COM pointers and registers.
Next comes the Windows COM System, even if you don't need it - it will also be loaded.
After this the instructions themselves, now each com level pointed to is subbed by a '.'
so
Direct3DX.Effects.ExtendedMesh.LoadMesh TRUE,"Mesh.x",GetTex("Mesh"),1
that goes through 4 pointers just to finally get the function you require ... although the builtin function are useful they don't leave much is ay flexibility.
and DarkBASIC Pro unlike DarkBASIC is just as fast at producing internal calculations as a DLL doing it.
-------------------------------
[edit-]
not to be funny but personally i find the whole way VB works entirely is just inefficient and overly confusing.
like Python and Java, i know they can be good languages in the right hands but personally - i spend more time trying to figure out what is being linked to what and making sure that i know the object attached to the other object with little real language definition and a larger reliance on predetermined functions than anything else.