Conversione applicazione CLX in VCL

di il
5 risposte

Conversione applicazione CLX in VCL

Vorrei convertire una grossa applicazione Delphi CLX in VLC.
Non so da dove cominciare.
C'è qualcuno che conosce la strada giusta?

5 Risposte

  • Re: Conversione applicazione CLX in VCL

    Ho fatto una prova con un progettino.

    Ho creato una app clx poi
    Ho sostituito Qform con Form nel project
    Ho cambiato il nome al xml in dfm
    Ho sostituito le unit Q con quelle vcl nel pas

    Compila. (uso ancora D7)
    Unico problema sembra la form con fondo scuro...
  • Re: Conversione applicazione CLX in VCL

    jugin ha scritto:


    Vorrei convertire una grossa applicazione Delphi CLX in VLC.
    Non so da dove cominciare.
    C'è qualcuno che conosce la strada giusta?
    Le due librerie sono molto simili, per semplificare la migrazione di codice in particolare dalla VCL verso CLX, ma non sono del tutto identiche, anche perché "wrappano" delle API differenti e progettate per eseguire su sistemi operativi che presentano molte differenze.

    Che io sappia, non esiste a oggi un automatismo in grado di effettuare una conversione automatica dall'una all'altra, anche se qualcosa potrebbe dare una mano nello svolgimento delle operazioni più macchinose (es. modifica dei nomi delle unit rimuovendo il "Q" di troppo e cose del genere); ad esempio, Mida Converter è un tool che effettua questo compito e penso potrebbe essere "piegato" a realizzare una operazione del genere, magari con un aiuto da parte del supporto tecnico.

    Ovviamente, quanto sopra vale se i tempi sono ristrettissimi, la quantità di codice da convertire è tanta, il numero di modifiche automatiche che si possono fare sono elevate (poiché il codice è stato scritto bene) e così via.

    In tutti gli altri casi, il mio suggerimento è quello di riscrivere l'applicazione VCL utilizzando preferibilmente una versione recente di Delphi, ricostruendo l'interfaccia utente a poco a poco usando i componenti e i controlli della libreria VCL appunto, avendo cura di migrare gradualmente anche il codice sostituendo le implementazioni specializzate per CLX con quelle attese dalla VCL, dove previsto, oppure lasciando tutto così com'è quando si tratta di funzioni e classi della RTL che risultano condivise e utilizzabili da entrambe le librerie.

    Si tratta ovviamente di un porting che richiede un pochino di esperienza da parte dello sviluppatore e un approccio graduale nel processo di migrazione dell'interfaccia e del codice da effettuare con cura e che richiede probabilmente un po' di tempo.

    Per il resto, tutto dipende sensibilmente da come è stata scritta l'applicazione e quali componenti specifici (anche di terze parti) sono stati utilizzati.

    Magari con qualche dettaglio in più è possibile dare indicazioni più precise riguardo problematiche specifiche e mirate.

    Ciao!
  • Re: Conversione applicazione CLX in VCL

    Ricostruire tutte le form è molto impegnativo (ho un centinaio di Form e alcune sono assai complesse)
    Voglio provare a passarne una solo cambiandone il nome da Xfm a Dfm per vedere cosa succede.
    Ci sto provando con una form con il menu principale della applicazione.
    Vedo qualcosa ma devo ancora lavorarci.
    Questa è la app :
    https://www.facebook.com/eugenio1955
  • Re: Conversione applicazione CLX in VCL

    jugin ha scritto:


    Ricostruire tutte le form è molto impegnativo (ho un centinaio di Form e alcune sono assai complesse)
    Ahimé succede, ma in effetti questo vale in tutti gli ambiti in cui si sviluppa un software vasto e magari con poca fattorizzazione dovendo passare da una tecnologia all'altra, e sicuramente il passaggio da CLX a VCL non è tra quelli più difficoltosi data la somiglianza tra le due librerie.

    Hai già valutato la possibilità invece di scrivere un'applicazione Web approfittando della necessità?

    jugin ha scritto:


    Voglio provare a passarne una solo cambiandone il nome da Xfm a Dfm per vedere cosa succede.
    Il problema non è solo il Form, ma anche i componenti che si trovano all'interno.
    Io darei davvero un'occhiata a MIDA Converter che possiede automatismi per convertire applicazioni in altre sostituendo componenti, unit e tanto altro in modo automatizzato, tra l'altro con la possibilità di definire diverse librerie (non solo VCL ma anche TMS, ecc.) per la destinazione d'uso. Certo non è una operazione indolore, ma almeno provvede a sanare la maggior parte degli scenari dove è sufficiente cambiare un nome per recuperare l'uso di una funzionalità del software nella libreria di destinazione.

    jugin ha scritto:


    Ci sto provando con una form con il menu principale della applicazione.
    Vedo qualcosa ma devo ancora lavorarci.
    Partirei dai moduli più complessi dell'applicazione.
    A parte questo, che dire... buon lavoro!
  • Re: Conversione applicazione CLX in VCL


    Hai già valutato la possibilità invece di scrivere un'applicazione Web approfittando della necessità?
    Si e sto ancora valutando, ma non sono convinto.
    (gli aggiornamenti software li faccio con Dwagent, non ho molti clienti)
    Il problema non è solo il Form, ma anche i componenti che si trovano all'interno.
    Io darei davvero un'occhiata a MIDA Converter che possiede automatismi per convertire applicazioni in altre sostituendo componenti, unit e tanto altro in modo automatizzato, tra l'altro con la possibilità di definire diverse librerie (non solo VCL ma anche TMS, ecc.) per la destinazione d'uso. Certo non è una operazione indolore, ma almeno provvede a sanare la maggior parte degli scenari dove è sufficiente cambiare un nome per recuperare l'uso di una funzionalità del software nella libreria di destinazione.
    Ok darò una occhiata a MIDA Converter,
    Grazie per il suggerimento,
    Ciao
Devi accedere o registrarti per scrivere nel forum
5 risposte