D3 and mvBase

 View Only

PickBASIC compiled object backward compatibility

  • 1.  PickBASIC compiled object backward compatibility

    ROCKETEER
    Posted 06-29-2021 19:05

    While PickBASIC object code ( pseudocode, not flash object ) is forward-compatible ( later D3 versions ) without recompilation, it is not completely backward-compatible ( earlier D3 versions ) because of op codes that have been added in later versions of D3. Example: Code compiled on 10.2 will run on 10.3, but code compiled on 10.3 may not run on 10.2.

    I didn't know this until just a couple of days ago. For years I've helped people upgrade D3 versions knowing that they don't need to recompile their source, especially when the source has been stripped and only object code deployed. Turns out I never helped anyone go the other way with stripped source. This came to my attention when a friend of mine in the UK upgraded his dev box to 10.3.3 and tried his normal deployment mechanism to a 10.2 box. Blew sky high.  This had never happened to him before.

    Turns out that 10.3 contains a LOT of op code changes to facilitate the mvBase to D3 upgrade plan as well as some other optimization for performance improvements. So, my apologies to anyone to whom I ever said "Sure, non-flash object code is TOTALLY backward compatible". 



    ------------------------------
    Brian S. Cram
    Principal Technical Support Engineer
    Rocket Software
    ------------------------------