General

6.1 Esiste il compilatore per Access (questo è il faqqone)?
  Lbo
(D)
Esiste il compilatore per Access?
Posso compilare, ovvero trasformare in eseguibile un file di Access?
Come posso fare per distribuire/vendere una applicazione che ho scritto con Access anche ad
utenti che non hanno Access?
Cos'è e cosa fa questo ADT oppure ODE di cui sento parlare?

(D)
NO, #!*#*, NON SI COMPIL ...ehm, scusate, l'abitudine :-) dicevo: no, caro frequentatore di newsgroup, purtroppo non è assolutamente possibile trasformare un file di access in un eseguibile. Se si vuole ottenere assolutamnte un eseguibile occorre riscrivere l'applicazione in un linguaggio di programmazione compilabile, ad esempio Visual Basic, che usa lo stesso motore database di Access, il Jet. inoltre il linguaggio di programmazione di Access e Visual Basic sono praticamente la stessa cosa. Il procedimento non è però affatto immediato. in commercio esistono delle utilities che danno un aiuto in tal senso, ma la conversione automatica è al momento assolutamente impensabile. C'è da dire che lavorando con Access si sente parlare di "compilazione" del codice. Di che si tratta? Si tratta semplicemente di un sommario controllo formale che l'ambiente di sviluppo di Access compie sul codice che si scrive. in questo modo è possibile ad esempio individuare errori di sintassi grossolani, variabili non dichiarate (qualora si specifichi che le variabili *devono* essere dichiarate), funzioni o routine con argomenti insufficienti o di tipo errato, blocchi if-end if, select case e cicli non propriamente chiusi. questo controllo del codice viene chiamato "compilazione", ma si tratta di un uso assolutamente improprio del termine. Sembrerebbe quindi che chiunque voglia eseguire una applicazione scritta con Access debba per forza possedere una copia di Access. Quindi, se io sono il cliente di un programmatore Access, oltre al costo del programma devo considerare anche il costo della licenza di Access e questo mi rende poco concorrenziale chiedere di scrivere un'applicazione in Access rispetto ad una in, diciamo, Visual Basic, per la quale il mio programmatore mi dà un eseguibile che posso far funzionare senza troppe storie. Microsoft però permette distribuire una versione ultraridotta di Access, diciamo solo il motore, quella che viene chiamata versione run-time. in sostanza con questa versione liberamente distribuibile è possibile solo far funzionare una o più applicazioni scritte con Access (file del tipo *.mdb), ma non è possibile aprirne o modificarne la struttura. si può fare solo quello che l'applicazione ha previsto che si faccia. (sono anche escluse alcune particolari funzionalità, il cui dettaglio ora non interessa). Al cliente quindi il programmatore può dare questa versione run-time di Access, la quale si associerà all'estensione .mdb nel sistema e permetterà il funzionamento dell'applicazione Access. Un paragone che si può fare è quello con i visualizzatori per file Word o PowerPoint che Microsoft distribuisce liberamente, così chiunque è sicuro che il suo file Word o PowerPoint sarà comunque leggibile da chiunque, il che è un bell'incentivo all'acquisto dei suddetti prodotti, rispetto ad altri che non offrono questa certezza. La versione run-time è quindi una specie di "visualizzatore" per applicazioni Access. le fa funzionare, ma non le fa modificare, nè leggere la struttura. Quest'ultimo è anche un vantaggio per il programmatore che teme che gli utenti smanettino con la sua applicazione, o che teme che qualcuno gli copi il codice. o meglio, lo sarebbe se in realtà i file *.mdb non restassero esattamente quello che sono e quindi non fossero tranquillamente apribili dall'utente o dall'iniquo copiatore una volta che questo installi Access. Fino alla versione 95 di Access non ci si poteva fare niente. Dalla versione 97 è stata introdotta una nuova funzionalità, ovvero la conversione di un file .mdb in .mde. Questo è un formato cifrato, che funziona normalmente ma che non è non leggibile e non modificabile. è ovviamente possibile far funzionare i file "cifrati" .mde con la versione run-time.
Ora, dove si prende questa versione run-time?
Per la versione 2.0 e 95 di Access (e di Office) la si comprava in un pacchetto a parte, del costo di circa 700mila lire più Iva, l'Access Developer's Toolkit, conosciuto come ADT, pacchetto che conteneva altre cose di cui si parlerà dopo. Dalla versione 97 di Access (e di Office) il pacchetto non è più venduto separatamente, ma è integrato in una versione speciale di Office, detta Office Developer Edition e conosciuta come ODE. Dentro questa versione più "robusta" di Office c'è quindi il pacchetto di cui sopra, che però non si chiama più ADT. Dovrebbe essere possibile upgradare ad Office 97 ODE sia per gli utenti di Office 97 "normale", sia per coloro che hanno acquistato solo Access 95 e relativo ADT. la cosa però non è ben chiara, quindi consultate un rivenditore Microsoft.
Quali altre funzioni ha questo toolkit?
Intanto conferisce all'acquirente una licenza alla distribuzione gratuita ed illimitata della famosa versione run-time di Access e delle necessarie dll (potrei sbagliare e non mi assumo responsabilità: controllate bene la documentazione in proposito e/o parlate con un rivenditore Microsoft). Inoltre contiene una serie di strumenti per la creazione di help in linea in fomato .hlp e soprattutto permette di creare un set di dischetti di installazione dell'applicazione Access (il file *.mdb), della versione run-time di Access, delle dll e degli altri file che potreste volere, ad esempio .ico, .bmp. hlp e quello che vi pare. In sostanza si ottengono dei dischetti di setup che permettono un'installazione "professionale" della vostra applicazione e dei files di cui sopra da parte dell'utente, che altro non dovrà fare che inserire il primo dischetto, fare doppioclick su setup.exe e seguire semplici istruzioni. A volte anche la creazione di questo insieme di dischetti viene impropriamente chiamata "compilazione". come al solito non si compila un bel niente: semplicemente si splitta su n dischetti da 1.44 una serie di file. Il che ci porta a chiedere di quanto spazio abbia bisogno la versione run-time. Lei da sola e tutte le dll necessarie occupano circa i primi cinque dischetti. il resto sarà la vostra applicazione. Ovviamente, se create un set di installazione per un cliente a cui avete già distribuito la versione run-time non è necessario che gliela ridiate un'altra volta: basterà includere nel set di installazione solo l'applicazione e i file ad essa strettamente relativi.
Il set di installazione viene creato tramite un wizard in un percorso del tipo ...\images\disk1, ...\images\disk2 e così via. Ovviamente le cartelle disk1, disk2, ecc. vanno copiate sui relativi dischetti. Se invece dei dischetti si vuole fare un bel cd-rom? i casi sono due: o si masterizzano i dischetti sul cd-rom, e il cliente dovrà come al solito doppiocliccare su setup.exe della cartella \disk1 oppure il wizard permette anche di creare il set di installazione un'unica directory, il che torna anche comodo per installazioni in rete. hit the market.


Se pensate di avere del materiale freeware interessante e volete pubblicarlo, allora leggete qui.