0

I need to run a 32-bit mbx within a 64-bit mbx -is this possible?

Basically within a larger 64bit mbx routine, I need to call a mapbasic 32 bit mbx so that I can apply some regex code to a table.

Unfortunately Mapbasic regex only works in 32bit currently -https://nyalldawson.net/2013/05/regular-expressions-in-mapbasic/

I know I can add the following code

Run program "performRegex.mbx"

but as the system default is 64bit, how do I force it to use 32 bit?

1

You cannot run a 32-bit process within a 64-bit process. This has nothing to do with MapInfo, it's generic Microsoft (or maybe even computer) restriction.

You would have to start another MapInfo process, you need to have 2 MapInfo versions installed on your machine. I doubt that you can launch MapInfo from a MBX program.

If you just require some Regex function you can write them by yourself. The MapBasic documentation shows an example how to call a .NET class from MapBasic. Even if you are not familiar with C# or VB.NET it should be no big deal to write a program which would not have more than 10 lines.

0

A MapBasic application is bitless. That means is neither 32 bit nor 64 bit.

You can run most MapBasic application in 32 bit as well as 64 bit versions of MapInfo Pro.

But there are limitations to this. Your MapBasic application might rely on external resources, for example a C++ or Delphi DLL. If this DLL is 32 bit, you can't launch the tool in 64 bit version of MapInfo Pro.

Also 64 bit MapInfo Pro have retired a few MapBasic commands, such as the Graph and Crystal Report support. These commands will not work in 64 bit. Similar 64 bit have added numerous new commands that will prevent you wrong using the MapBasic application in an older version of MapInfo Pro.

Specifically to the RegEx support. This is based on a 32 bit DLL which makes it impossible to use this tool in 64 bit MapInfo Pro.

You can find a similar discussion on the PB Knowledge Community which also holds a solution for 64 bit: Will anyone upgrade MapBasic Regex to work in 64-bit

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.