MapInfo Pro Developers User Group

Welcome to the MapInfo Pro Developers community!  We are a group dedicated to the discussion and understanding of MapBasic and .Net MapInfoPro AddIn development. Bring your questions and ideas here. This group includes several members of the Pro development team from around the world.

Please feel free to start a discussion in the discussion tab or join in a conversation.

MapInfo Community Downloads

Discussions

Members

Resources

Events

 View Only
  • 1.  Passing string array as Sub parameter from C#

    Posted 06-18-2020 04:04
    Hello, 

    I have already asked this question on MapInfo-L group, but I didn't get right answer. 

    Basically, I'm trying to pass array of strings to MBX Sub from C# assembly. 

    C# part of code:
    string[] subParams = { "param1", "param2"}
    mbxApp.CallMapBasicSubroutine("MySub", subParams);

    MabBasic sub:
    Declare Sub MySub(subParams() as String)
    
    Sub MySub(subParams() as String)  
    
      Print "Sub launched"
    
    End Sub

    Interestingly,  nothing happens when I run this code, you'll notice I haven't used any array member in Sub, just tried to print out message. No exception is caught both on C# and MB side. 

    Until now I have been passing single string (concatenated array members, delimited by semicolon), and then I would split them in Sub, however it would be nice to do it right way.

    ------------------------------
    Marijan
    ------------------------------


  • 2.  RE: Passing string array as Sub parameter from C#

    Employee
    Posted 06-24-2020 06:59
    Hi Marijan,
    We don't support passing array from C# to MapBasic sub. Passing single string (concatenated array members, delimited by semicolon), and then I would split them in Sub is the only way right now.

    ------------------------------
    Anshul Goel
    Knowledge Community Shared Account
    Shelton CT
    ------------------------------



  • 3.  RE: Passing string array as Sub parameter from C#

    Posted 06-24-2020 07:40
    Anshul, 

    I was confused by method signature. Both in VS and ExtensibilityReferenceHelp is offered as string array. 

    Thank you for your answer

    ------------------------------
    Marijan
    ------------------------------



  • 4.  RE: Passing string array as Sub parameter from C#

    Employee
    Posted 06-24-2020 07:55
    Hi Marijan,
    Second parameter in CallMapBasicSubroutine is an array which notifies the number of parameter to the mapbasic sub.

    ------------------------------
    Anshul Goel
    Knowledge Community Shared Account
    Shelton CT
    ------------------------------



  • 5.  RE: Passing string array as Sub parameter from C#

    Posted 10-24-2025 13:59

    Can callmapbasicsubroutine return a value? Have you been successful using it this way? 

    CallMapBasicSubroutine("MySub", subParams)


    ------------------------------
    Ferhad Pakzat

    BRITISH COLUMBIA HYDRO AND POWER AUTHORITY
    Burnaby BC
    ------------------------------



  • 6.  RE: Passing string array as Sub parameter from C#

    Employee
    Posted 10-27-2025 05:57

    You need to use the EvaluateMapBasicFunction method to get a return value



    ------------------------------
    Peter Horsbøll Møller
    Principal Presales Consultant | Distinguished Engineer
    Precisely | Trust in Data
    ------------------------------



  • 7.  RE: Passing string array as Sub parameter from C#

    Posted 10-27-2025 12:55

    Thanks again. :) 



    ------------------------------
    Ferhad Pakzat

    BRITISH COLUMBIA HYDRO AND POWER AUTHORITY
    Burnaby BC
    ------------------------------