Port SS3 MDL to CONNECT or rewrite in VBA

I understand this will depend on the type of program, but in general for element placement and manipulation tools, is it better to port SS3 MDL code to CONNECT, or rewrite them with VBA. Is there any criteria I can use to inform me of what path to go down?

  • Hi Ken,

    is it better to port SS3 MDL code to CONNECT, or rewrite them with VBA.

    in my opinion to go from MDL (C) to VBA is always bad decisions.

    Generally, VBA is limited end user tool, not suitable for any more advanced professional development. It is quite simple to reach VBA limits (because plenty of CE features are not supported), or to find a bug.

    I understand this will depend on the type of program, but in general for element placement and manipulation tools

    It is good you mentioned placement and manipulation tools, because it makes the decision simpler: VBA offers only a fraction of functionality. Both C++ and NET APIs offer complex classes, with rich already implemented functionality (where a problem can be the classes are complex and not simple to understand), supporting plenty of scenarios and options.

    Is there any criteria I can use to inform me of what path to go down?

    Go down? Maybe "go further"? But I am not English native speaker, so I am not qualified to discuss language issues ;-)

    Different way, how to migrate existing code from V8 to CE API. In general, two are main - to migrate and to rewrite, but "the rewrite" can be split into using C++, NET (C#) or the discussed VBA. Also "the migrate" path can vary a lot, depending whether it is as-straightforward-as-possible migration, or code is sanitized and upgraded.

    To make any more qualified decisions, it is crucial to know:

    • How big / complex the application is: Individual tools can be reimplemented simply, whereas a huge codebase is a candidate for migration.
    • The application code quality: When the code is very old (written for pre-V8, later migrated to V8 format...), often it makes sense to invest to reimplementation.
    • Is there a user (functional) documentation available? When not, it is complicated to write any new code.

    Often the best option is to reimplement old functionality using C# It offers equal functionality to C++ API (not exactly the same, but good enough) and it is simpler/faster/cheaper to write C# code.

    With regards,

      Jan