settembre 2003 Blog Posts

Libreria per porta parallela

Visto che e' un problema 'sentito' segnalo un interessante libreria per gestire la porta parallela da WIN 98, NT, 2000 and XP attraverso PInvoke

posted @ sabato 27 settembre 2003 11:02 | Feedback (0)

Tutto quello che avreste voluto sapere su NGEN...

Jason Zander del CLR Team nel suo blog descrive dettagliatamente l'utility NGEN, da non perdere!

posted @ giovedì 25 settembre 2003 11:47 | Feedback (2)

CloneCD bloccato dalle legge Europea

"Our software was prohibited by a new European wide copyright law. The industry lobby has won and we practically have lost the rights to develop and distribute our own software which we developed for 6 years." Ecco cosa scrive Elby a proposito della decisione di non distribuire piu' il famoso programma CloneCD. Vero e' che aggiungono anche... "CloneCD will survive under a different team on Antigua (e.g. outside of European and American legislation) at slysoft.com. Registered users get support and updates from now on from slysoft. They will soon publish new versions of CloneCD." Come dire... fatta la legge....

posted @ martedì 23 settembre 2003 23:05 | Feedback (0)

Verisign ci prova...

Provate ad andare su questo sito: www.kjhgdkfjsdftgius.com, non esistendo vi aspettereste il classico errore 404, invece verrete magicamente rimandati ad un nuovo progetto "SiteFinder" di Verisign.Non male come idea per attirare gente nel proprio "portale" forse pero' si e' un po' "abusato" della propria posizione e, non a caso, Verisign si e' gia' beccata una causa da 100 milioni di $$$...Se volete saperne di piu... andate qui

posted @ domenica 21 settembre 2003 20:07 | Feedback (0)

I have a brand new toy...

Dopo la mia prima sessione pubblica al workshop del 17 settembre (emozione!) mi son voluto rilassare con il mio nuovo "toy"...Commenti a caldo: Ottimo prodotto, veloce, legge di tutto (ho infilato la mano, mi ha letto pure quella...) firmware upgradabile...Prevedo un grande successo per questo genere di lettori...

posted @ sabato 20 settembre 2003 02:22 | Feedback (0)

Winsummit cancellato

Era gia' circolata la notiza... (da amici) pero' ora e' ufficiale, a causa di problemi legati alla societa' organizzatrice DIGICOMP il WinSummit 2003 e' stato cancellato, peccato, i nomi presenti erano sicuramente interessanti...

posted @ giovedì 18 settembre 2003 02:29 | Feedback (0)

Visual Studio 6 Service Pack 6

A quanto pare il vecchio Visual Studio 6 avra' un nuovo service pack...

posted @ mercoledì 17 settembre 2003 00:18 | Feedback (0)

Subclassing con NativeWindow

Eseguire il subclassing in NET e' diventato un gioco da ragazzi (o quasi...) basta fare l'override della WndProc e trappare i messaggi interessati, ma se volessi intercettare il messaggio WM_LBUTTONCLICK di un pulsante presente in un form?Si puo' usare la classe NativeWindow che rappresenta una finestra generica con la relativa WndProc e "associarla" alla finestra che vogliamo subclassare. Esempio: public class MySubClass : System.Windows.Forms.NativeWindow{public delegate void MsgTrap (ref System.Windows.Forms.Message m);public event MsgTrap MessageTrapped;private Int32 msgCode;public MySubClass(IntPtr handle, Int32 msgCode ){this.msgCode=msgCode;base.AssignHandle(handle); }protected override void WndProc(ref System.Windows.Forms.Message m){base.WndProc(ref m);if (m.Msg==msgCode) {  MessageTrapped (ref m); }}} Questa classe, che eredita da NativeWindow, genera un evento quando viene intercettato il...

posted @ martedì 16 settembre 2003 11:11 | Feedback (0)

PDC 2003... I'll be there!

Yes!, saro' a PDC 2003 e prevedo parecchi blogs da L.A.... Come potevo non includere il logo 'ufficiale'?...  

posted @ martedì 16 settembre 2003 00:03 | Feedback (4)

Must Have Utilities...

Ecco qualche utility interessante... Snippet Compiler Utility che vi permette di testare piccole parti di codice senza dovere nemmeno aprire Visual Studio http://www.sliver.com/dotnet/snippetcompiler/   ApiViewer Utility per generare la definizione di tutte le Win32 APIs in formato VB6,VB.NET e C#, include un add-in per C#disponibile anche in Italiano (richiede i runtimes di VB6) http://www.activevb.de/rubriken/apiviewer/index-apiviewereng.html   Problemi con l'installazione di MDAC? http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/Q307/2/55.ASP&NoWebContent=1   FileMon http://www.sysinternals.com/ntw2k/source/filemon.shtml

posted @ domenica 14 settembre 2003 11:45 | Feedback (0)

This humor brought to you by the Longhorn evangelism team

A quanto pare gli evangelisti hanno anche il tempo per divertirsi...

posted @ sabato 13 settembre 2003 16:22 | Feedback (0)

15/09/2003: Office 2003 disponibile!

Come indicato qui, Lunedì prossimo sarà possibile anche agli abbonati MSDN Universal scaricare la versione finale di Office 2003, povero server...

posted @ venerdì 12 settembre 2003 20:03 | Feedback (0)

Mi scusi..., gira su Linux?

Non contenti dei problemi legati ai vari 'gusti' di Windows, a breve dovremo anche vedercela col pinguino... :-)    

posted @ venerdì 12 settembre 2003 10:42 | Feedback (1)

Caricare versioni diverse della stessa Dll

Come fare per caricare versioni diverse e compatibili tra loro della stessa dll statica?Il costruttore dell'attributo DllImport va specificato a design time quindi non possiamo modificarlo durante l'esecuzione del programma.Fortunatamente il CLR carica la Dll da disco solo se non gia' presente in memoria percio' se utilizziamo l'API LoadLibrary() possiamo decidere il percorso dove si trova la dll. Esempio: [DllImport("kernel32.dll")] static extern IntPtr LoadLibrary(string filename);[DllImport("mydll.dll")] static extern bool MyMessageBeep(Int32 uType); IntPtr i=IntPtr.Zero;if (b){IntPtr i=LoadLibrary("C:\\path1\\mydll.dll");}else{IntPtr i=LoadLibrary("C:\\path2\\mydll.dll");}MyMessageBeep(0x40); In questo caso a seconda del flag b, la funzione MessageBeep verra' invocata da una diversa dll.

posted @ mercoledì 10 settembre 2003 11:55 | Feedback (0)

More on Smartphone SDK

Se siete interessati (oppure semplicemente curiosi) di conoscere meglio alcuni dettagli del nuovo SmartPhone SDK 2003 ecco un articolo interessante. Se avrete il piacere di 'giocarci' un po' e dovreste trovarvi di fronte a varie "NotSupportedException" non preoccupatevi e' il modo scelto dall'SDK di informarvi che quella particolare feature non rispetta i logo requirements  (es: il mainmenu di sinistra non puo' avere dei menuitems...)

posted @ mercoledì 10 settembre 2003 10:18 | Feedback (0)

Libro su DirectX 9

Se ne e' parlato nel forum di UGI e, 'casualmente' ecco un libro sull'utilizzo di DirectX9 da applicazioni managed scritto da Tom Miller devlead del gruppo ManagedDx. Altro libro sull'argomento quello pubblicato da Alexandre Santos Lobao su APress.

posted @ domenica 7 settembre 2003 10:44 | Feedback (4)

SetLastError=True, ma non sempre...

Alex Komissarov mi ha contattato segnalandomi un comportamento anomalo relativo alla Marshal.GetLastWin32Error dopo che ha modificato la mia classe seguendo i dettagli del mio blog di ieri.Dopo qualche scambio di email mi ha fatto notare che la documentazione indica che usando [DllImport] il paramentro SetLastError e' di default False per C# mentre e' True per VB.NET Cito:Indicates whether the callee calls the SetLastError Win32 API function before returning from the attributed method.Remarkstrue to indicate that the callee will call SetLastError; otherwise, false. The default is false, except in Visual Basic. Alla luce di vari test fatti, siamo giunti alla conclusione che la documentazione e'...

posted @ mercoledì 3 settembre 2003 16:40 | Feedback (0)

Gestione degli errori durante le chiamate a funzioni Win32

L'attributo [DllImport] che normalmente utilizziamo con PInvoke permette di stabilire se un eventuale errore deve essere corredato da informazioni estese che possiamo recuperare attraverso l'API GetLastError e la relativa FormatMessage per ottenere l'equivalente testuale del codice di errore.L'utilizzo della GetLastError non e' pero' corretto in quanto non e' detto (essendoci il CLR di mezzo) che non siano state chiamate altre API dopo la nostra funzione e della quale vogliamo recuperare il codice di errore.Il .NET Framework mette pero' a disposizione tutto il necessario per accedere nel modo corretto al codice di errore settato dalla nostra API attraverso la funzione Marshal.GetLastWin32Error().La funzione citata risolve pero'...

posted @ martedì 2 settembre 2003 17:45 | Feedback (2)