Net-Base Rivista

10.04.2026

Prevedere in anticipo Windows 11 ARM64 per applicazioni Delphi

Le nuove piattaforme target ARM Windows diventano rapidamente costose se le dipendenze native, gli installer e il deployment vengono verificati solo troppo tardi.

10.04.2026

Dal tema della rivista alla pratica di progetto

Pagine di servizi e tecniche correlate all'articolo

Windows 11 ARM64 non è più nel quotidiano B2B solo un caso particolare per appassionati di tecnologia. Le nuove generazioni di notebook, l’aumento dell’autonomia delle batterie, scenari “Always-on” e il desiderio crescente di postazioni di lavoro leggere e mobili stanno portando le aziende ad acquistare client ARM64 – talvolta intenzionalmente, talvolta incidentalmente tramite modelli standard nei contratti quadro. Per team con software aziendale personalizzato è un messaggio chiaro: ARM64 deve essere considerato precocemente nella pianificazione tecnica, altrimenti più avanti diventerà un costoso progetto di retrofit.

Per applicazioni Delphi la domanda centrale non è quasi mai «può Delphi compilare?». Nella pratica i rollout ARM64 falliscono quasi sempre alla periferia: DLL native, componenti di stampa/scan, driver di database, motori di report, integrazioni COM, routine di setup, code-signing o pipeline di build che implicitamente conoscono solo x64. Proprio per questo conviene trattare Windows 11 ARM64 come requisito architetturale e operativo – non come un semplice feature di piattaforma.

Questo contributo mostra quali ostacoli tecnici tipici emergono con Delphi, come identificare i rischi in modo sistematico e quali percorsi di migrazione pragmatici si sono dimostrati efficaci – dal rendere progressivamente compatibili singoli moduli fino a una chiara architettura target con servizi e server REST.

Perché Windows 11 ARM64 è ora un tema architetturale

In molte aziende «Windows» è stato a lungo sinonimo di x86/x64. Questa assunzione si annida in script, installer, componenti di terze parti e talvolta persino nel modello dati (es. percorsi, chiavi di registro, interfacce driver). Appena compaiono client ARM64, diventa visibile quanto conoscenza implicita sia presente nel sistema. Ed è proprio questo il nucleo economico: adeguamenti tardivi non sono solo «qualche flag del compilatore», ma la pulizia di assunzioni consolidate nel tempo.

ARM64 diventa praticamente rilevante in particolare in tre situazioni:

  • Software client con lunga durata: applicazioni verticali usate per 8–15 anni e ampliate in modo iterativo. Una nuova piattaforma client a metà del ciclo di vita è più probabile di una riscrittura completa.
  • Flotte miste: forze vendita/assistenza, notebook di management, scenari vicini al BYOD o filiali che approvvigionano hardware diverso.
  • Pressioni su sicurezza e compliance: code-signing moderno, hardening, «least privilege», updater controllati – in questi casi vengono comunque toccati processi di installazione e aggiornamento. È il momento favorevole per integrare ARM64 come requisito secondario.

La buona notizia: chi lavora già su Delphi Modernisierung, migrazione a 64 bit, disaccoppiamento degli accessi ai dati o su un’architettura target orientata ai servizi, può spesso «portare dietro» Windows 11 ARM64 – a condizione che sia inserito presto nel backlog e non lasciato fino alla prima macchina ARM nel supporto.

Delphi su ARM64: cosa è “facile” e cosa è “difficile”?

I progetti Delphi variano molto: da client desktop VCL puri fino a sistemi stratificati con REST-Server, servizi Windows, worker di report, componenti di integrazione e job in background. Per Windows 11 ARM64 è determinante capire quali parti devono effettivamente girare nativamente sul client e quali possono essere sensatamente spostate in servizi.

Il compilatore raramente è il problema principale

Se il codice proprietario è pulito (niente assembler inline, nessuna assunzione 32-bit obsoleta, nessun cast di puntatori fragile, nessuna chiamata API deprecata), la compilazione per una nuova piattaforma target è spesso fattibile. I problemi emergono per:

  • componenti di terze parti con parti native (DLL, BPL, bridge C/C++)
  • driver e connessioni a dispositivi (stampa, scan, signature pad, dongle)
  • accesso ai database via ODBC/OLE DB/client-libraries non compatibili ARM64
  • reporting e integrazione con Office (COM-Automation, vecchi filtri di esportazione)
  • installer/updater che testano solo x64 o usano percorsi hardcoded

Di conseguenza Windows 11 ARM64 è soprattutto un «test dell’ecosistema»: quanto il vostro pacchetto software è disaccoppiato dalle vecchie assunzioni di piattaforma?

VCL, FMX e dipendenze UI

Molte applicazioni verticali B2B sono basate su VCL e usano componenti UI cresciuti nel tempo. Questo non è di per sé un problema – ma l’interfaccia utente è spesso il punto in cui le dipendenze si concentrano: driver PDF, generatori di barcode, librerie immagine, controlli browser, oggetti COM. Per ARM64 vale: quanto più componenti specialistici legati alla UI impiegate, tanto più importante diventa una lista di compatibilità anticipata.

Nelle strategie multipiattaforma (es. Windows + macOS) entra spesso in gioco FMX. Indipendentemente dal framework, una strategia solida è separare la logica di dominio e le integrazioni dall’UI. Questo favorisce sia Delphi Multiplattform sia Windows 11 ARM64.

Ostacoli tecnici tipici (e come individuarli presto)

In pratica la maggior parte dei problemi ARM64 può essere individuata precocemente se si procede a un inventario strutturato e a un «ARM64 Readiness»-check. È cruciale non guardare solo il codice Delphi, ma tutto ciò che costituisce il prodotto: installer, driver, configurazioni, plugin, strumenti di terze parti, catena di update, script di supporto.

1) DLL native, BPL e scenari a processi misti

Molte applicazioni Delphi caricano DLL aggiuntive: crittografia, viewer CAD, OCR, signature, SDK hardware, parser specializzati. Su x64 spesso si dà per scontato che «esista una DLL a 64 bit». Per ARM64 non è così: serve esplicitamente binario ARM64 o un’architettura che rimuova questa dipendenza dal client.

Approccio pratico:

  • Compilate una lista di tutti i moduli nativi caricati (anche indirettamente tramite componenti).
  • Classificateli: «ARM64 disponibile», «solo x64», «solo 32-bit», «incerto».
  • Valutate se il modulo debba davvero essere locale o se può essere spostato in un servizio.

Un riscontro comune: un singolo modulo x64-only blocca l’intero client ARM64. È il momento in cui una chiara stratificazione o una Layer-3 Architektur diventa economicamente sensata: l’UI/client resta leggero, le integrazioni migrano in livelli server/service controllati.

2) COM, Office-Automation e integrazioni Shell

In molte aziende l’esportazione Word/Excel, il collegamento a Outlook, i menu contestuali di Explorer o integrazioni DMS sono cresciuti storicamente tramite COM. COM non è automaticamente «ARM64-ready», in particolare se COM-server o add-in di terze parti sono forniti solo in x64. Anche la gestione di mix 32-bit/64-bit (Out-of-Proc vs. In-Proc) diventa rapidamente complessa.

Chiarimenti precoci:

  • Quali oggetti COM vengono utilizzati (lista ProgIDs/CLSID)?
  • In-Proc o Out-of-Proc? Esistono registrazioni ARM64?
  • Si può risolvere l’esportazione tramite librerie server-side (es. formati basati su documenti) invece della Office-Automation?

Spesso questo è una leva di modernizzazione: allontanare l’automazione legata all’UI verso export-service riproducibili (es. PDF/Excel via libreria) che possano essere impiegati sia per Windows x64 che per ARM64 o persino server Linux.

3) Accesso al database: ODBC, client-libraries, BDE legacy

L’accesso ai dati è un’interfaccia ARM64 frequente, perché qui entrano in gioco driver e client-libraries. Critici sono gli setup ODBC datati, client proprietari di database o database locali con layer di accesso storici.

Per stack Delphi è un classico: se sono ancora presenti Borland BDE, vecchie strutture Paradox o catene di driver difficili da mantenere, ARM64 diventa un catalizzatore. Una BDE-Ablösung e la migrazione verso una BDE-Ablösung mit nativer Anbindung con una strategia chiara sui driver DB riduce significativamente i rischi di piattaforma.

Punti di controllo concreti:

  • Quali DB sono in uso (SQL Server, PostgreSQL, MariaDB, Firebird, engine locali)?
  • Quali driver si usano (ODBC, client nativo, BDE-Ablosung mit nativer Anbindung-driver, OLE DB)?
  • Dove risiedono connection-string e DSN (per utente, per macchina, nell’installer)?
  • Ci sono dipendenze da driver ODBC a 32 bit o provider datati?

Soprattutto con SQL Server/ODBC un client ARM64 può funzionare – ma solo se la catena di driver e la routine di installazione sono solide. Non è un problema che si voglia «debuggare in produzione».

4) Reporting, stampa, scan, PDF e workflow di output

L’output è spesso critico per il business nelle applicazioni verticali: bolle, etichette, fatture, verbali, letture contatori, certificati, label di spedizione. Molti di questi workflow dipendono da componenti di reporting o da driver di stampa/scan specifici.

Su Windows 11 ARM64 gli ostacoli tipici sono:

  • driver di stampanti per etichette/speciali disponibili solo in x64
  • software/SDK per scanner privi di supporto ARM64
  • vecchi motori di report con moduli di preview/export nativi
  • generazione PDF tramite «stampanti virtuali» invece che librerie

Una strada robusta è standardizzare i workflow di output: generare PDF/format Office via librerie, stampare tramite interfacce standardizzate, incapsulare gli accessi a hardware speciali. Dove questo non è possibile, serve presto una matrice dispositivi/driver per ARM64.

5) Installer, updater, code-signing e operatività

Molti progetti ARM64 non falliscono per il programma, ma per la consegna: lo setup rileva erroneamente l’architettura, non installa driver, non registra COM, imposta percorsi sbagliati o incontra politiche di code-signing. Anche gli update automatici (delta-update, self-updater) sono spesso fortemente dipendenti dall’architettura.

Domande importanti per l’operatività:

  • Come si installa (MSI, Inno Setup, updater proprietario)?
  • Come vengono installate le dipendenze (VC++ Runtimes, driver, certificati)?
  • Come si firma (EXE, DLL, installer, pacchetti driver)?
  • Come viene testato: hardware ARM64 reale o solo ipotesi?

Per le aziende è un tema di governance: se Windows 11 ARM64 compare nella fleet client, il deployment deve essere riproducibile – inclusi rollback, supportabilità e versioning chiaro.

Strategia: Windows 11 ARM64 come «requisito non funzionale» precoce

L’approccio economicamente sensato è trattare ARM64 come un requisito non funzionale (NFA) – come performance, sicurezza o capacità offline. Questo significa: non solo «se succede» nello sprint, ma definire paletti per l’architettura e la catena di fornitura.

ARM64-Readiness-Check: inventario invece di sensazioni

Un check solido comprende tipicamente:

  • Inventario delle dipendenze: tutti i componenti third-party, DLL, driver, SDK, controlli browser, moduli crittografici, reporting.
  • Analisi build/pipeline: target di build, pacchettizzazione, firmatura, storage degli artefatti, numerazione versioni, riproducibilità.
  • Catena installer/update: logica di setup, prerequisiti, chiavi di registro/percorso file, policies, permessi.
  • Modello operativo: supporto, logging, crash-dump, telemetria (se presente), piano di rollout.

Il risultato non dovrebbe essere un «ARM64: sì/no», ma una lista prioritaria: quali blocker esistono, quali moduli sono coinvolti, quali alternative esistono e quale investimento è realistico.

Matrice decisionale: nativo ARM64 o disaccoppiare?

Per ogni dipendenza problematica serve una decisione chiara:

  • Sostituto nativo ARM64 possibile: upgrade, cambio fornitore, passaggio a un’altra libreria.
  • La dipendenza può essere esternalizzata: es. in un servizio Windows, un worker in background o un server centrale REST-Server.
  • La dipendenza deve rimanere locale: ad es. perché l’hardware è direttamente connesso al client. Allora servono approvazioni hardware/driver ARM64 vincolanti.

Per le integrazioni l’esternalizzazione è spesso la soluzione più pulita: il client resta UI + dialoghi di dominio, mentre la logica di integrazione complessa gira in servizi controllati. Questo supporta, oltre ad ARM64, anche aggiornamenti centrali, concetti di privilegio e migliore testabilità.

Pattern architetturali che stabilizzano i progetti ARM64

Se Windows 11 ARM64 viene considerato precocemente, si possono prendere decisioni architetturali che evitano costose inversioni in seguito.

1) Chiare stratificazioni: UI, logica di dominio, integrazione, accesso ai dati

I client Delphi cresciuti spesso contengono «tutto in un processo»: UI, regole di business, accesso ai dati, integrazione DMS, stampa ed export. Questo è manutenibile finché la piattaforma rimane stabile. Se però variano le piattaforme (ARM64, eventualmente macOS, eventualmente terminal server), il valore di una chiara stratificazione cresce.

Obiettivo pragmatica:

  • Layer UI: minimale, testabile, senza dipendenze dirette da driver/SDK.
  • Logica di dominio: il più possibile piattaforma-neutrale, modellata in modo pulito.
  • Layer di integrazione: incapsula COM, formati di file, connettori DMS/ERP, SDK dispositivi.
  • Accesso ai dati: consolidato (es. FireDAC), confini di transazione chiari, nessun SQL sparso.

Questo non è «accademico», ma riduce costi reali: se solo il layer di integrazione è problemático per ARM64, non serve ricostruire l’intero client.

2) Servizi e server REST come ancore di stabilità

Molti sistemi B2B traggono vantaggio dall’esecuzione di funzioni centrali come server REST o come servizi Windows/Linux-Services: controllo permessi, workflow documentali, validazione dati, export, import, interfacce verso ERP/DMS/CRM. Se queste funzioni girano server-side, la complessità sul client si riduce notevolmente – e con essa la superficie di attacco ARM64.

Ripartizioni tipiche efficaci:

  • Client: dialoghi, visualizzazione, logica offline (se necessaria), integrazioni locali minime.
  • REST-Server: operazioni di dominio, validazione, multi-tenant, logging centrale.
  • Worker/Service: job schedulati, polling di interfacce, generazione report, esporti batch.

Questo si adatta anche ai modelli operativi moderni: una funzione server-side viene aggiornata una volta sola – invece di su ogni client ARM64 singolarmente.

3) Un sistema di build con più target (x64 + ARM64) fin dall’inizio

Se ARM64 è un obiettivo, la pipeline di build deve rifletterlo. Non come «faremo un build speciale più tardi», ma come standard: ogni release candidate deve costruire in modo riproducibile per x64 (e, se previsto, ARM64), inclusi signing e pacchettizzazione dell’installer.

Più importante dello tooling è la disciplina:

  • Denominare chiaramente gli artefatti (architettura nel nome/personalizzazione cartelle).
  • Separare valori di configurazione per target (percorsi, prerequisiti, pacchetti driver).
  • Definire smoke-test per ogni architettura (avvio, login, connessione DB, stampa/PDF).

Così ARM64 non diventa un «Big Bang», ma un target aggiuntivo e controllato.

Modernizzazione Delphi: ARM64 come occasione per ridurre debito tecnico

Molte aziende usano i nuovi requisiti di piattaforma come pretesto per «tutto nuovo». È rischioso e spesso non necessario. Molto più economico è usare Windows 11 ARM64 come guida per una modernizzazione graduale: rimuovere debito tecnico laddove blocca ARM64 o mette a rischio la capacità di consegna.

64-bit e Unicode: non rimandare vecchi interventi

Se nella codebase persistono assunzioni 32-bit o residue di versioni vecchie di Delphi, riemergeranno con il cambio di piattaforma. Anche se ARM64 non implica automaticamente «Unicode», molti progetti che affrontano seriamente ARM64 profitano per assicurare la gestione corretta di Unicode, l’adozione di percorsi a 64 bit e la pulizia di problematiche di memoria/puntatori.

L’obiettivo non è la perfezione, ma uno standard affidabile: codice che possa essere costruito per nuovi target senza ripetere sempre le stesse classi di errori.

BDE-Ablösung e accesso ai dati consolidato come abilitatore ARM64

Dove esistono ancora layer di accesso storici (BDE, dati Paradox locali, accessi misti), la consolidazione è una leva con effetti moltiplicativi: codice più manutenibile, deploy più stabili, strategia driver più chiara. Con FireDAC l’accesso può essere unificato in molti scenari, includendo gestione centralizzata dei parametri, strategie di pooling e gestione degli errori ordinata.

Importante: una BDE-Ablösung non è solo «sostituire componenti». Tocca la logica transazionale, i tipi di dato, gli ordinamenti, la semantica dei filtri e in parte anche il modello dati. Per questo va pianificata – non lasciata come misura d’emergenza quando i client ARM64 compaiono in campo.

Test e assurance qualità: ARM64 è pianificabile solo se misurabile

Prevedere ARM64 precocemente significa anche testarlo – non con test completi di tutte le feature, ma con test mirati ai percorsi critici. Il passo più importante è disporre di un ambiente di test ARM64 reale. L’emulazione può aiutare in casi limitati, ma non sostituisce la pratica con hardware reale, driver reali e policy di sicurezza reali.

Smoke-test ARM64 minimo: cosa coprire precocemente

Un set di smoke-test pragmatico ma efficace per ogni release candidate:

  • Avvio programma, login, funzioni UI di base
  • Connessione DB (inclusi autenticazione, certificati, DNS/Proxy se rilevanti)
  • Un processo core «end-to-end» (es. creare ordine, salvare, stampare/esportare)
  • Updater/installer: installazione pulita e aggiornamento tra due versioni
  • Logging/dialoghi di errore: le diagnosi sono utilizzabili anche su ARM64?

Così emergono presto i tipici blocker ARM64: DLL mancanti, driver errati, problemi di setup, richieste di permessi inattese.

Capacità di diagnosi: crash-dump, log, trasparenza versioni

Quando ARM64 è nella fleet, arriveranno ticket di supporto – solo per nuove combinazioni di driver. Conviene standardizzare le diagnosi: build-ID chiare, log significativi, percorsi di installazione/aggiornamento riproducibili. Non è specifico di ARM64, ma ARM64 rende costose queste lacune molto più rapidamente.

Rollout e operatività: flotte miste senza caos

La maggior parte delle aziende a medio termine opererà flotte client miste: parte x64, parte ARM64. La chiave è governare intenzionalmente questo stato.

Pacchettizzazione: installer separati, rilevamento chiaro, canali di download distinti

Nella pratica funziona meglio avere installer/pacchetti inequivocabili: il pacchetto x64 è per x64, il pacchetto ARM64 è per ARM64. «Un installer per tutto» sembra comodo, ma introduce rapidamente complessità (logica di controllo, prerequisiti, percorsi driver, firmatura, modalità riparazione). Per rollout aziendali controllati l’univocità è spesso la strada più robusta.

Strategia di aggiornamento: niente percorsi speciali per ARM64

ARM64 non dovrebbe essere un caso eccezionale nel processo di update. L’obiettivo è: stessa frequenza di release, stesso numero di versione funzionale, ma artefatti separati. Se ARM64 viene aggiornato «a mano», si generano deviazioni nella fleet che poi aumentano i costi di supporto.

Documentare le integrazioni in modo pulito

Molti problemi ARM64 non derivano dal proprio codice ma dalle integrazioni: connettore ERP, client DMS, servizio di firma, software scanner, stampante etichette. Una lista di integrazioni curata con versioni e note architetturali è comunque utile per sistemi B2B – e rende trasparenti le decisioni ARM64.

Cosa dovrebbero fare ora le aziende (senza azionismo)

Pianificare ARM64 non significa rifare tutto immediatamente. Significa rispondere presto alle domande giuste ed eliminare i blocker finché lo sforzo è gestibile. Un approccio collaudato è:

  • 1) Inventario (2–10 giorni a seconda della dimensione del sistema): dipendenze, installer, driver, accesso ai dati, COM, reporting.
  • 2) Visione target e percorso: cosa deve essere nativo sul client? Cosa va su servizio/REST? Quali componenti saranno sostituiti?
  • 3) Proof of Feasibility: un build ARM64 funzionante con installer e un caso d’uso end-to-end.
  • 4) Indurimento graduale: funzioni rimanenti, test, catena di update, capacità di diagnosi.

Così non nasce un «progetto ARM64» separato che gira mesi isolato, ma un’estensione controllata della capacità di consegna.

Conclusione: Windows 11 ARM64 non è un hype ma un indicatore precoce di maturità tecnica

Windows 11 ARM64 diventerà per molte aziende una realtà concreta – per approvvigionamenti hardware, esigenze di mobilità o standardizzazione. Per le applicazioni Delphi la sfida reale non è solo il sorgente, ma l’intero sistema di dipendenze, processi di installazione/aggiornamento, integrazioni e driver. Chi pianifica ARM64 precocemente può affrontare questi punti in modo strutturato, invece di «tappare» sotto pressione temporale.

In definitiva ARM64 è un utile banco di prova: quanto è disaccoppiata, testabile e consegnabile la vostra applicazione? Rispondere ora a questa domanda non solo apre opzioni di piattaforma, ma fornisce anche una base più stabile per modernizzazione, servizi, architetture REST e manutenzione a lungo termine.

Contattate Net-Base Software GmbH, se desiderate valutare in modo solido Windows 11 ARM64 nella vostra roadmap Delphi e attuarlo con un percorso tecnico chiaro.

Passo successivo

Quando un tema diventa un progetto reale, architettura, sistemi esistenti e gestione operativa dovrebbero essere considerati insieme fin dalle fasi iniziali.

Non forniamo solo supporto per questioni isolate, ma anche quando da frammenti di codice sorgente, tematiche legacy o idee di portale deve nascere un progetto aziendale solido.

  • Stato attuale, stato obiettivo e rischi tecnici vengono valutati insieme.
  • REST, l'accesso ai dati, i portali e il rollout non vengono rinviati a fasi successive.
  • Vede in anticipo quale percorso è economicamente e operativamente sostenibile.

Condividi il post

Condividi direttamente questo articolo

LinkedIn, X, XING, Facebook, WhatsApp e e-mail sono immediatamente disponibili. Per Instagram prepariamo direttamente il link e un breve testo.

E-mail

Instagram si apre in una nuova scheda. Il link e il breve testo vengono copiati prima negli appunti.