Laurea, C++ e MFC Aggiungi un commento
18 maggio 2009, 17:59Tre settimane fa (oddio, come passa il tempo) mi sono laureato, finalmente. Com’è che non l’ho scritto subito? Perchè in generale evito di dire cose “personali” su questo sito, ma suppongo che una laurea in Informatica abbia qualche rilevanza dal punto di vista… beh, dell’Informatica. Anche se questa rilevanza si riduce ad essere “Ecco, esiste un laureato in Informatica in più sul pianeta.”
Produrrà qualcosa di buono, il suddetto laureato? Sta a lui. E visto che non si ottiene nulla senza provarci infinite volte, ho cominciato a studiare per conto mio la creazione di applicazioni con GUI su Windows, usando le librerie della Microsoft Foundation Classes, che dal 1992 incapsulano le Windows API (a.k.a. Win32 API) dando un maggiore controllo sulla creazione di applicazioni per Windows. Ho provato ad usare direttamente Win32, secondo il principio che hardcore è meglio, ma dopo aver visto che i bottoni apparivano sotto Windows 7 come se venissero direttamente da Windows 95, ho rinunciato.
MFC non è difficile da usare… sempre che si abbia la memoria di un elefante, cosa particolarmente richiesta nell’ambito della programmazione di interfacce in C++. Non è come le Swing di Java, che hanno contribuito a creare il mio beneamato progetto di stage, in cui il programmatore può estendere JFrame e chiamare SetVisible(true) su un oggetto della classe estesa e in cui ogni elemento ha nomi facili da memorizzare e mille metodi per fare ogni cosa. Ma non è nemmeno come Win32 nativo, in cui per far comparire una finestra vuota servono non meno di 70 righe di codice… di cui la maggior parte obsoleto e inutile.
Una volta presa familiarità con typedefs come LPCWSTR (Long Pointer to Constant Wide-character String, puntatore a una stringa non modificabile di caratteri a 16 bit) e CComPtr<T> (Component Object Model Pointer, MFC wrapper attorno a un puntatore ad oggetti COM di tipo T), MESSAGE_MAPs e HRESULT, non va poi così male.
Aggiungete l’essersi accorto di una caratteristica mancante in Windows 7, piccola ma leggermente scomoda, un po’ di manipolazione di XML (mediante XmlLite) e otterrete il primo programma nell’appena inaugurata sezione download. Sentitevi liberi di usare i programmi che troverete là (non so con quale frequenza) e lasciare tutti i commenti che volete!




