Nel post precedente (Componenti COM: Le interfacce - parte 2 di 6) abbiamo introdotte la type library: qui dettaglieremo meglio come essa è costituita e i suoi utilizzi.

Interface Definition Language - IDL

Per descrivere quanto contenuto in una type library, e quindi tutte le informazioni descrittive legate ai componenti COM contenuti in un COM server, si usa il linguaggio IDL. In altri termini IDL è il "disassemblato" della type library, che normalmente è compilata insieme al COM Server o anche in un file separato, con estensione tlb.

Occorre dare uno sguardo, seppur sommario, a IDL, poichè non solo è un parte molto importante del mondo COM, ma anche perchè risulta essere interessante e poco oneroso carpirne la funzionalità generale.

Eccoci alla secondo parte della serie di post dedicati al fantastico e antico mondo degli oggetti COM.

Nel primo post (Componenti COM: Introduzione - parte 1 di 6) ho introdotto l'argomento e cercato di evidenziare i punti che hanno reso necessaria l'introduzione di questa tecnologia.

Da ora in poi inizieremo ad addentrarci nella parti più tecniche, e non disdegnerò di pubblicare parti di codice in VB6 per meglio chiarire i vari punti.

Sinora abbiamo parlato genericamente di oggetto o componente COM: è arrivato il momento di dettagliare meglio i termini utilizzati in quersto ambito.

 Come accennato un oggetto COM è costituito da una o più classi che forniscono funzionalità che possono essere utilizzate da altri codici "consumatori". Queste classi prendono il nome di componenti COM (o COM Component).

Il linguaggio di programmazione con cui sono state scritte queste classi possono essere differenti rispetto a quello che si vuole utilizzare per implementare il codice consumatore.

Poco tempo fa ho dovuto mettere mano a del codice scritto in VB6: un sistema legacy “in fase di dismissione” da diversi anni, ma ancora perfettamente funzionante nonchè ampiamente utilizzato.

Il problema da risolvere riguardava anche il sistemare alcune dipendenze (dll COM): per tale motivo ho dovuto riprendere in mano alcuni appunti che avevo scritto a suo tempo per districarmi nella materia.

Rileggendoli mi sono reso conto che non erano affatto male, e quindi ho deciso di sistemarli e condividerli con Voi.

Avvertimento iniziale

Questo articolo parla di cose veramente “vintage”, anche se ancora ampiamente supportate da tutti i moderni sistemi operativi e linguaggi di programmazione.

In tutto l'articolo userò spesso il tempo presente, anche più correttamente avrei dovuto usare ovunque il passato poichè il mondo COM/ActiveX fa oramai parte dell'archeologia informatica.

Parlerò anche di codice e IDE Visual Basic 6, anche in questo caso spesso usando il presente: anche qui sono ben conscio di parlare di un passato veramente …… tanto passato.

Ma... il blog è mio.... e a pensarci bene il tempo da usare per i post lo decido io......

Fine Avvertimento.

Inizio con il dire che esisteva un tempo in cui non era così facile scrivere delle librerie che, una volta compilate e distribuite, potevano essere utilizzate da altri pezzi di codice, questi ultimi magari scritti in un differente liguaggio.

Avrete letto tempo fa dell'annuncio sconvolgente circa la possibilità di installare Sql Server su Linux.

Come tutti abbiamo pensato alla solita bufala: ma poi le voci sono diventate realtà, e in questi giorni avevo un pò di tempo libero e ci ho voluto provare, sembra con successo.

Direi che per ora tutto funziona a dovere: anche il processo di installazione tutto sommato è semplice e veloce, Lo potete trovare in How to install Ms Sql Server on Debian 8 Jessie.