As I've said on many posts prior, I am trying to convert my VB16/PowerBasic 2.0
project to 32bit VB/PB.. And I am having GREAT difficulty..
I am starting to realize that it will be impossible. There are certain
limitations that I can't overcome. For instance:
I stated that in 16bit, I could pass UDT arrays to powerbasic ONCE
and have the .DLL remember the pointer location throughout the
whole execution of the code. Thus, enabling the DLL, and VB to edit/manage
and use data from the same source. (memory location)
Well VB5/32bit doesn't allow this because it moves variables around
in memory while the program is operating.. <<to me this is very unstable>>
So I attempted to rebuild my .DLL's to accept the parameters that it
needs..And creating a long list of UDT parameter passes for
my .DLL calls.. I read a thread on this forum about "Declare error.."
and found out that PB can only pass 16 variables..
While my maximum pass may be close to 16.. I am getting an unusual
error when I try to pass alot of junk to a .DLL
Call MonsterActions(MapInfo(0), MCmd, ViewPort, FollowMode(0), Players(0), Attacker, Defender, CurrentPlayer, CurrentObject)
Call PlayerActions(MapInfo(0), MCmd, ViewPort, FollowMode(0), Players(0), Attacker, Defender, CurrentPlayer, CurrentObject, Active_User%)
When VB tries to execute this code it accepts the first line and give
an error : "Compile Error - Too many local, non-static variables."
The funny part about this error is NONE of the variables are local. They are
all global to VB..
I am beginning to think my approach is incorrect. And I may have to totally
re-write this entire application. Can 32bit .DLLs access/share large
amounts of memory/variables with VB applications?
This is beginning to be garbage..
------------------
Explorations v3.0 RPG Development System
http://www.explore-rpg.com
project to 32bit VB/PB.. And I am having GREAT difficulty..
I am starting to realize that it will be impossible. There are certain
limitations that I can't overcome. For instance:
I stated that in 16bit, I could pass UDT arrays to powerbasic ONCE
and have the .DLL remember the pointer location throughout the
whole execution of the code. Thus, enabling the DLL, and VB to edit/manage
and use data from the same source. (memory location)
Well VB5/32bit doesn't allow this because it moves variables around
in memory while the program is operating.. <<to me this is very unstable>>
So I attempted to rebuild my .DLL's to accept the parameters that it
needs..And creating a long list of UDT parameter passes for
my .DLL calls.. I read a thread on this forum about "Declare error.."
and found out that PB can only pass 16 variables..
While my maximum pass may be close to 16.. I am getting an unusual
error when I try to pass alot of junk to a .DLL
Call MonsterActions(MapInfo(0), MCmd, ViewPort, FollowMode(0), Players(0), Attacker, Defender, CurrentPlayer, CurrentObject)
Call PlayerActions(MapInfo(0), MCmd, ViewPort, FollowMode(0), Players(0), Attacker, Defender, CurrentPlayer, CurrentObject, Active_User%)
When VB tries to execute this code it accepts the first line and give
an error : "Compile Error - Too many local, non-static variables."
The funny part about this error is NONE of the variables are local. They are
all global to VB..
I am beginning to think my approach is incorrect. And I may have to totally
re-write this entire application. Can 32bit .DLLs access/share large
amounts of memory/variables with VB applications?
This is beginning to be garbage..
------------------
Explorations v3.0 RPG Development System
http://www.explore-rpg.com
Comment