Programma in Visual Basic 6: come migrare un’applicazione VB6 senza fermarsi
Migrare un’applicazione VB6 significa spostare un programma scritto in Visual Basic 6 su una tecnologia supportata, di solito un’applicazione web o .NET. Il programma non smetterà di funzionare domani, ma è la stessa Microsoft a raccomandare di sostituirlo. Le strade principali sono tre: conversione automatica, riscrittura completa e sostituzione graduale un modulo alla volta.
Molte aziende hanno ancora un programma di questo tipo: magari scritto a fine anni Novanta da un consulente, installato PC per PC, e ancora al centro del lavoro quotidiano. Vediamo come stanno le cose e cosa puoi fare.
Cosa dice davvero Microsoft sul supporto
Sul tema circola molta confusione, ma la dichiarazione ufficiale di Microsoft è chiara se si distinguono due cose.
Il programma che usi continua a girare. L’obiettivo di Microsoft è la compatibilità delle applicazioni VB6 esistenti con le versioni di Windows supportate, compreso Windows 11. Il supporto è però limitato a regressioni gravi e problemi critici di sicurezza.
Lo strumento per modificarlo invece non è più supportato: l’ambiente di sviluppo di Visual Basic 6 ha perso il supporto l’8 aprile 2008. Microsoft stessa scrive che, non esistendo un metodo supportato per creare o mantenere queste applicazioni, raccomanda con forza di sostituirle con tecnologie moderne.
In pratica, il tuo programma non ha una data di scadenza. Ogni volta che qualcuno deve modificarlo, però, lo fa con strumenti fuori supporto da quasi vent’anni.
I rischi concreti per l’azienda
La fine del supporto, da sola, non ferma nulla. I problemi veri sono altri:
- Chi lo sa modificare. Trovare sviluppatori disposti a lavorare su VB6 è sempre più difficile, e chi lo conosce spesso è la stessa persona che l’ha scritto anni fa.
- I componenti esterni. I programmi VB6 usano spesso componenti di terzi (i file OCX). Microsoft precisa di non poterli supportare: dipendi dal produttore originale, che magari non esiste più.
- Solo 32 bit. I file di VB6 restano a 32 bit e sulle versioni a 64 bit di Windows funzionano in un ambiente di compatibilità. Oggi regge, ma è un vincolo in più ogni volta che cambi hardware o sistema.
- Lavoro solo in ufficio. Installazione PC per PC, nessun accesso da remoto o da telefono. Spesso è il limite che pesa di più sul lavoro di ogni giorno.
- Blocco dei nuovi progetti. Collegarlo a e-commerce, CRM o app può risultare complicato.
Le tre strade per migrare
| Strada | Come funziona | Punti a favore | Attenzione a |
|---|---|---|---|
| Conversione automatica | Uno strumento traduce il codice in una tecnologia più recente | Conserva la logica, può essere rapida | Eredita i difetti del vecchio programma, e richiede rifinitura |
| Riscrittura completa | Si rifà tutto e si cambia in un colpo solo | Risultato pulito | Rischio concentrato, regole nascoste perse |
| Sostituzione graduale | I moduli nuovi entrano uno alla volta, accanto al vecchio | Nessun salto nel buio, benefici subito | I due sistemi convivono per un periodo |
Conversione automatica
Esistono strumenti che convertono il codice VB6 in linguaggi più moderni, anche verso il web. Può funzionare bene se il codice è ordinato e vuoi soprattutto uscire da VB6 in fretta. I fornitori stessi ammettono che dopo la conversione resta da correggere del lavoro, in particolare per ciò che su un’applicazione desktop funziona in modo diverso che sul web.
Il limite più importante è un altro: ottieni lo stesso programma in un’altra lingua. Schermate, flussi e difetti di progettazione restano. Se il problema è solo la tecnologia va bene, se il problema è anche come si lavora, no.
Riscrittura completa
È adatta soprattutto a programmi piccoli e poco critici. Per un programma che regge l’azienda, è la strada che concentra di più il rischio. Trovi il confronto completo in riscrivere il software da zero o sostituirlo un pezzo alla volta.
Sostituzione graduale
È la strada che usiamo quando il programma non può fermarsi. VB6 facilita spesso questo approccio per un motivo pratico: molti programmi tengono i dati in un database separato, come Access o SQL Server. Se è Access, conviene leggere anche come migrare un database Access al cloud. Se il database è raggiungibile, le parti nuove possono lavorare sugli stessi dati, mentre il vecchio programma resta in uso.
Com’è andata in un nostro progetto
Tra i progetti che abbiamo seguito c’è proprio un vecchio software VB6 trasformato in una webapp. Il cambiamento più visibile per chi lo usa è semplice: non c’è più nulla da installare sui singoli PC e il programma si apre dal browser.
Per il titolare, i punti da chiarire all’inizio in un progetto così sono sempre gli stessi: quali funzioni servono ancora, quali regole sono nascoste nel codice e dove stanno i dati. La tecnologia di arrivo, in confronto, è una scelta facile.
Come procedere, passo dopo passo
- Recupera ciò che esiste. Codice sorgente, file di progetto, elenco dei componenti esterni. Se non trovi il sorgente, non è la fine, ma va saputo subito.
- Metti al sicuro il presente. Verifica i backup e tieni da parte il materiale di installazione, compresi i componenti esterni.
- Mappa l’uso reale. Quali schermate si usano e quali no. Potresti scoprire che il perimetro è più piccolo di quanto pensi.
- Guarda i dati. Dove sono, in che formato, e se sono raggiungibili da un altro programma.
- Scegli il primo modulo. Quello che crea più problemi, meglio se con poche dipendenze dagli altri.
- Fallo convivere con il vecchio finché non è collaudato, poi passa al successivo.
- Spegni VB6 per ultimo, mantenendo consultabili i dati storici.
I primi quattro punti sono il contenuto tipico di un audit del software, che serve a capire tempi e costi prima di firmare. Il percorso generale è spiegato nella guida alla modernizzazione del software legacy.
Domande frequenti
I programmi VB6 funzionano su Windows 11?
Secondo la dichiarazione di Microsoft, i file di runtime di VB6 sono supportati su Windows 11, per le applicazioni esistenti. Non è supportato invece l’ambiente di sviluppo. Eventuali componenti di terze parti vanno verificati uno per uno. Se non parte, trovi le soluzioni in programma vecchio che non funziona su Windows 11.
E se non ho il codice sorgente?
Si può comunque migrare, ma cambia il lavoro: si ricostruisce il comportamento del programma osservandolo in uso e analizzando il database. Richiede più attenzione, soprattutto per le regole di calcolo.
Conviene passare a VB.NET?
Può essere una buona scelta se hai sviluppatori .NET in casa e il programma resterà desktop. Se il problema è anche l’accesso da fuori ufficio, spesso conviene puntare a un’applicazione web.
Vale lo stesso per i programmi in Delphi o FoxPro?
In larga parte sì. Le situazioni di supporto sono diverse, come spieghiamo nelle guide su Delphi e FoxPro, ma ragionamento e metodo restano gli stessi: conoscere ciò che esiste, mettere in sicurezza i dati e sostituire un modulo alla volta.