[{"data":1,"prerenderedAt":351},["ShallowReactive",2],{"post-\u002Fblog\u002Fmodernizzare-applicazione-delphi":3,"related-\u002Fblog\u002Fmodernizzare-applicazione-delphi":344},{"id":4,"title":5,"body":6,"date":328,"description":329,"extension":330,"meta":331,"navigation":332,"order":333,"path":334,"related":335,"seo":339,"seoTitle":340,"sitemap":341,"stem":342,"updated":328,"__hash__":343},"blog\u002Fblog\u002Fmodernizzare-applicazione-delphi.md","Modernizzare un’applicazione Delphi: aggiornarla, collegarla o sostituirla?",{"type":7,"value":8,"toc":307},"minimark",[9,18,21,26,42,45,67,70,74,77,136,140,145,148,154,158,167,172,176,185,190,194,202,207,211,255,259,262,266,282,286,290,293,297,300,304],[10,11,12,13,17],"p",{},"Per ",[14,15,16],"strong",{},"modernizzare un’applicazione Delphi"," ci sono quattro strade: aggiornarla all’ultima versione di Delphi, costruirle sopra un’interfaccia web collegata ai suoi dati, convertirla con strumenti automatici oppure sostituirla un modulo alla volta. A differenza di altre tecnologie degli anni Novanta, Delphi è ancora venduto e aggiornato, quindi non sei obbligato a scappare: la scelta dipende da cosa ti blocca davvero.",[10,19,20],{},"Molti programmi gestionali sono nati in Delphi, spesso scritti da una piccola software house o da un singolo sviluppatore. Nel tempo ci si accorge che girano solo su Windows, solo in ufficio e che chi li conosce è sempre più difficile da trovare.",[22,23,25],"h2",{"id":24},"delphi-non-è-vb6-la-differenza-che-cambia-il-ragionamento","Delphi non è VB6: la differenza che cambia il ragionamento",[10,27,28,29,34,35,41],{},"Spesso vengono messi insieme, ma la situazione è diversa. Visual Basic 6 ha uno strumento di sviluppo ",[30,31,33],"a",{"href":32},"\u002Fblog\u002Fmigrare-applicazione-vb6","fuori supporto dal 2008",". Delphi invece è un prodotto attivo: ",[30,36,40],{"href":37,"rel":38},"https:\u002F\u002Fwww.embarcadero.com\u002Fproducts\u002Fdelphi",[39],"nofollow","Embarcadero"," lo vende e lo aggiorna ancora oggi, con versioni recenti che producono applicazioni per Windows, macOS, iOS, Android e Linux.",[10,43,44],{},"Questo significa che il tuo programma non è necessariamente “morto”. Il problema però potrebbe essere la versione. Spesso l’applicazione è ferma a un Delphi di molti anni fa e passare a quella attuale è un progetto vero, per tre motivi tipici:",[46,47,48,55,61],"ul",{},[49,50,51,54],"li",{},[14,52,53],{},"Componenti esterni."," Molti programmi usano librerie di terzi che possono non esistere più, oppure non essere disponibili per le versioni recenti.",[49,56,57,60],{},[14,58,59],{},"Gestione dei testi."," Il passaggio a Unicode, avvenuto con Delphi 2009, richiede spesso di rivedere il codice che tratta stringhe e file.",[49,62,63,66],{},[14,64,65],{},"Accesso ai dati."," Vecchie tecnologie come BDE sono state sostituite, quindi quella parte potrebbe dover essere riscritta.",[10,68,69],{},"Sono tre punti da verificare nel tuo caso, prima di stimare qualunque lavoro.",[22,71,73],{"id":72},"quale-problema-vuoi-risolvere","Quale problema vuoi risolvere?",[10,75,76],{},"Parti da qui, non dalla tecnologia.",[78,79,80,93],"table",{},[81,82,83],"thead",{},[84,85,86,90],"tr",{},[87,88,89],"th",{},"Il problema vero",[87,91,92],{},"Strada da valutare",[94,95,96,105,113,121,129],"tbody",{},[84,97,98,102],{},[99,100,101],"td",{},"Il programma funziona bene, ma la versione è vecchia e non si riesce più a modificarlo",[99,103,104],{},"Aggiornare Delphi",[84,106,107,110],{},[99,108,109],{},"Serve l’accesso da fuori ufficio per alcune funzioni",[99,111,112],{},"Interfaccia web sopra i dati",[84,114,115,118],{},[99,116,117],{},"Non si trova nessuno che lo mantenga",[99,119,120],{},"Sostituzione graduale",[84,122,123,126],{},[99,124,125],{},"Il codice è ordinato e vuoi uscire in fretta da Delphi",[99,127,128],{},"Conversione automatica",[84,130,131,134],{},[99,132,133],{},"Il modo di lavorare è cambiato e il programma non lo segue più",[99,135,120],{},[22,137,139],{"id":138},"le-quattro-strade","Le quattro strade",[141,142,144],"h3",{"id":143},"_1-aggiornare-allultima-versione-di-delphi","1. Aggiornare all’ultima versione di Delphi",[10,146,147],{},"Conservi il codice e le regole già scritte, e torni su una base supportata. È spesso la strada più conveniente quando il programma è solido e hai ancora qualcuno che conosce Delphi.",[10,149,150,153],{},[14,151,152],{},"Limiti:"," il programma resta di solito un’applicazione desktop. Il tema delle persone non si risolve: se oggi è difficile trovare sviluppatori Delphi, resterà difficile anche dopo.",[141,155,157],{"id":156},"_2-uninterfaccia-web-sopra-i-dati","2. Un’interfaccia web sopra i dati",[10,159,160,161,166],{},"Il programma resta dov’è, e una nuova applicazione web lavora sullo stesso database. Puoi cominciare da pochissime funzioni, ad esempio la consultazione degli ordini per chi è fuori ufficio. Anche ",[30,162,165],{"href":163,"rel":164},"https:\u002F\u002Fmedium.com\u002F@zara.johnson\u002Fdelphi-application-modernization-options-9cf61dd42f31",[39],"chi si occupa di questi progetti"," indica come percorso il collegare un backend esistente a interfacce più moderne.",[10,168,169,171],{},[14,170,152],{}," le regole contenute nel programma, come i calcoli, non si vedono dal database. Se servono anche nella parte nuova, vanno ricostruite o esposte in altro modo.",[141,173,175],{"id":174},"_3-conversione-automatica","3. Conversione automatica",[10,177,178,179,184],{},"Esistono ",[30,180,183],{"href":181,"rel":182},"https:\u002F\u002Fmobilize.net\u002Fproducts\u002Fapp-migrations\u002Fdelphi\u002F",[39],"strumenti commerciali"," che traducono il codice Delphi in C# o in applicazioni web. I produttori promettono equivalenza funzionale, e vanno quindi messi alla prova su una parte reale del programma. Ricorda che un programma convertito resta un programma convertito: si porta dietro schermate, abitudini e difetti.",[10,186,187,189],{},[14,188,152],{}," il codice generato può essere difficile da mantenere. Chiedi sempre una prova sul tuo codice, non una dimostrazione generica.",[141,191,193],{"id":192},"_4-sostituzione-un-modulo-alla-volta","4. Sostituzione un modulo alla volta",[10,195,196,197,201],{},"I moduli nuovi crescono accanto al vecchio programma, sugli stessi dati, finché questo non si può spegnere. Quando il programma è critico e non può fermarsi, è la strada meno rischiosa, come spieghiamo in ",[30,198,200],{"href":199},"\u002Fblog\u002Friscrivere-software-da-zero","riscrivere da zero o sostituire un pezzo alla volta",". Il database separato, molto comune nei programmi Delphi (spesso Firebird o SQL Server), rende questo approccio realistico.",[10,203,204,206],{},[14,205,152],{}," per un periodo devi mantenere due sistemi, e il collegamento va progettato con cura.",[22,208,210],{"id":209},"le-verifiche-da-fare-prima-di-decidere","Le verifiche da fare prima di decidere",[212,213,214,220,226,232,243,249],"ol",{},[49,215,216,219],{},[14,217,218],{},"Hai il codice sorgente, ed è completo?"," Compresi i componenti esterni, spesso acquistati da fornitori che oggi non ci sono più.",[49,221,222,225],{},[14,223,224],{},"Si compila ancora?"," Prova a generare il programma da zero su un computer pulito. Se non ci riesci, lo devi sapere prima di promettere a chiunque una modifica.",[49,227,228,231],{},[14,229,230],{},"Quale versione di Delphi usa, e quali librerie?"," Sono le informazioni che servono per stimare un aggiornamento.",[49,233,234,237,238,242],{},[14,235,236],{},"Dove sono i dati e in che formato?"," Se il database è separato e accessibile, hai molte più opzioni. Se usa ancora vecchi file locali, la prima cosa da fare è spostarli. Abbiamo scritto una guida per chi usa ",[30,239,241],{"href":240},"\u002Fblog\u002Fmigrare-foxpro-firebird","Firebird e FoxPro",".",[49,244,245,248],{},[14,246,247],{},"Chi lo conosce?"," Se è una sola persona, la priorità è farle scrivere ciò che sa, ora.",[49,250,251,254],{},[14,252,253],{},"Quali funzioni si usano davvero?"," Spesso è una parte molto minore del totale, e riduce il lavoro in ogni scenario.",[22,256,258],{"id":257},"quando-non-fare-nulla","Quando non fare nulla",[10,260,261],{},"Se il programma fa il suo lavoro, gira su un sistema supportato, non ha bisogno di collegarsi ad altro e hai qualcuno che può intervenire, non serve un progetto. Metti al sicuro codice e backup, e rivaluta tra un anno. Spendere per modernizzare qualcosa che non ti crea problemi non ha senso.",[22,263,265],{"id":264},"una-nota-sulla-nostra-esperienza","Una nota sulla nostra esperienza",[10,267,268,269,272,273,277,278,242],{},"Le indicazioni di questo articolo vengono dalla documentazione dei produttori e dal metodo che applichiamo ad altri sistemi datati. Non citiamo qui progetti Delphi specifici. Il ragionamento su dati, regole nascoste e sostituzione graduale è lo stesso che abbiamo seguito, ad esempio, passando da ",[30,270,271],{"href":32},"un programma VB6 a una webapp",". Se il tuo caso è particolare, il punto di partenza è capire cosa c’è, con un ",[30,274,276],{"href":275},"\u002Fblog\u002Faudit-software-aziendale","audit del software",", e valutare se siamo i fornitori giusti. Il quadro generale è nella ",[30,279,281],{"href":280},"\u002Fblog\u002Fmodernizzazione-software-legacy","guida alla modernizzazione del software legacy",[22,283,285],{"id":284},"domande-frequenti","Domande frequenti",[141,287,289],{"id":288},"delphi-è-ancora-supportato","Delphi è ancora supportato?",[10,291,292],{},"Sì: il prodotto è ancora venduto e aggiornato dal suo produttore. Le vecchie versioni però non ricevono le stesse attenzioni, quindi controlla qual è quella del tuo programma, e fai verificare i componenti esterni, che hanno una vita propria.",[141,294,296],{"id":295},"trovo-ancora-sviluppatori-delphi","Trovo ancora sviluppatori Delphi?",[10,298,299],{},"Sì, ma non è un mercato ampio, e spesso sono profili esperti. Vale la pena considerare questo aspetto nel calcolo a lungo termine, soprattutto se dipendi da una sola persona.",[141,301,303],{"id":302},"il-mio-programma-funziona-su-windows-11-devo-preoccuparmi","Il mio programma funziona su Windows 11. Devo preoccuparmi?",[10,305,306],{},"Non per forza. Che funzioni oggi è un buon segno, ma il rischio riguarda soprattutto la possibilità di modificarlo e la sicurezza dei componenti che usa. Vale comunque la pena provare a compilarlo.",{"title":308,"searchDepth":309,"depth":309,"links":310},"",2,[311,312,313,320,321,322,323],{"id":24,"depth":309,"text":25},{"id":72,"depth":309,"text":73},{"id":138,"depth":309,"text":139,"children":314},[315,317,318,319],{"id":143,"depth":316,"text":144},3,{"id":156,"depth":316,"text":157},{"id":174,"depth":316,"text":175},{"id":192,"depth":316,"text":193},{"id":209,"depth":309,"text":210},{"id":257,"depth":309,"text":258},{"id":264,"depth":309,"text":265},{"id":284,"depth":309,"text":285,"children":324},[325,326,327],{"id":288,"depth":316,"text":289},{"id":295,"depth":316,"text":296},{"id":302,"depth":316,"text":303},"2026-11-01","Il tuo programma è scritto in Delphi? A differenza di altre tecnologie, Delphi è ancora vivo. Le quattro strade per modernizzarlo e come scegliere.","md",{},true,15,"\u002Fblog\u002Fmodernizzare-applicazione-delphi",[336,337,338],"migrare-applicazione-vb6","riscrivere-software-da-zero","modernizzazione-software-legacy",{"title":5,"description":329},"Modernizzare un’applicazione Delphi: 4 strade | ITnext",{"loc":334,"lastmod":328},"blog\u002Fmodernizzare-applicazione-delphi","VXUJVtd4FMdtbKUTffjY4yZ63oUiFFKGv_kleTN0CWI",[345,347,349],{"path":32,"title":346},"Programma in Visual Basic 6: come migrare un’applicazione VB6 senza fermarsi",{"path":199,"title":348},"Riscrivere il software da zero o sostituirlo un pezzo alla volta?",{"path":280,"title":350},"Modernizzazione del software legacy: la guida per le PMI che non possono fermarsi",1793609718906]