Migrazione da Visual Objects a X#

di | 05/06/2017

Con il rilascio della beta 12 di X# la compatibilità con Visual Objects è ancora cresciuta.

Inoltre ho avuto modo di provare in anteprima XPorter/VO – lo strumento che legge AEF di Visual Objects e genera codice X#.

Per quanto riguarda le librerie necessarie come base dovrete sapere che esistono varie categorie

  • le librerie runtime che contengono sia le funzioni di base sia il compilatore runtime/macro Visual Objects. In VO 2.8 è la VO28run.dll, in Vulcan sono VulcanRT.dll e VulcanRTFuncs.dll. Visto che sia in Visual Objects che in Vulcan sono distribuite solo in formato compilato, il gruppo X# le dovrà riscrivere completamente da capo. Attualmente, usando la formula del BYOR, potete usare le versioni Vulcan.NET
  • le librerie di classi tipo classi GUI, RDD, OLE, Internet ecc. Queste librerie vengono fornite con Visual Objects e con Vulcan.NET sia in versione compilata che in versione sorgenti. Perciò sarà possibile per voi ricompilarli anche con X#. Attualmente il gruppo di sviluppo raccomanda di uare le versioni Vulcan.NET. La migrazione da VO oppure Vulcan dovrà essere fatta da voi stessi in quanto di tratta di codice di proprietà CA/GrafX, e perciò il team X# non ha il diritto di distribuirli. Appronterranno invece delle istruzioni su come fare
  • chi di voi usa anche i file DBF, avrà anche bisogno degli RDD. Anche questi, scritti in C/C++ come le librerie runtime, sono state distribuite da CA e GrafX solo in formato binario. Perciò anche queste librerie dovranno essere riscritte da capo. Nel frattempo anche in questo caso sarà possibile usare le versioni Vulcan.

Ovviamente questa riscrittura avrà bisogno di tempo, ma porta parecchi vantaggi. Per esempio il codice può essere rilasciato in licenza opensource, dandovi maggior sicurezza di investimento, permettendo la collaborazione e dare maggior conoscenza di quello che succede. Altra cosa non da trascurare: sia gli RDD che il compilatore macro che la libreria runtime di Vulcan.NET sono limitati al modi x86, perciò a 32 bit. Con la riscrittura in X# anche questo limite cadrà.

Su queste pagine nelle prossime settimane saranno disponibili altri articoli sulla tematica.