Un errore non tanto raro !

Tip Quando viene visualizzato l'errore H80004002 durante il caricamento di un progetto Visual Basic, vuol dire che qualche installazione software fatta male, ha sostituito il file comcat.dll originale (circa 22k) con un'altro. Basta procurarsi dal CD di Visual Basic, il file corretto, e sostituirlo al posto di quello corrotto. Generalmente in Windows/System32 Ricordarsi di registrare la nuova DLL con regsvr32

DLL in VB in Intranet !

Tip Per questioni di lavoro, ho ereditato un progetto ASP di un mio collega riguardante la gestione di un piccolo database. Il database si trova in un Server NT ed e' su SQL Server ! Il mio collega ha costruito tutto il sito Intranet con il notepad ed ha fatto un'ottimo lavoro ! Peccato che per un programmatore abituato in un ambiente Visual Basic, mettere le mani su questo codice rappresenta una vera impresa !
Allora, in prima istanza, per poter fare qualche esperimento con SQL Server, ho pensato di creare un progetto DHTML con Visual Basic e generare una DLL da inserire nella directory virtuale wwwroot del nostro sito !
I problemi si sono presentati all'atto di far capire al browser IE, che la DLL e il relativo pacchetto di installazione, erano da registrare sui vari client !!
Dopo aver capito il meccanismo, ho dedotto che il processo non era estremamente sicuro... Comunque bisogna settare nelle security del Browser l'inizializzazione degli script ActiveX.
Il meccanismo permette di creare all'interno del file di registro di ogni client, una chiave in modo tale che viene creato un ID univoco dove ritrovare la DLL e i suoi componenti sul Server !
Il tutto funziona, e come per magia, all'interno del browser, si puo' lanciare un'applicazione Visual Basic ! Ovviamente questo meccanismo su Internet, potrebbe far registrare da un'ipotetico Server NT sul nostro computer la possibilita' di far partire delle applicazioni nascoste con grave pericolo !!
Quindi, attenzione ad usare questa possibilita' ! Meglio soffrire un po' e imparare ASP !

P.S. (19 Giugno 2002) Sono di questi giorni nuove esperienze !
In realta' mediante altri meccanismi, e' possibile incorporare all'interno di un progetto ASP, degli oggetti di tipo DLL o OCX (gli stessi oggetti di VB), copiando gli stessi sul server NT nella directory System32, e poi registrarli sul server stesso.
In questo caso, (parlo di pagine ASP) non occorre registrare l'oggetto sui singoli client, in quanto, il codice ASP, gira lato server, quindi trova i riferimenti all'interno del server stesso.
Scusate se con le mie parole genero confusione, ma, credetemi, all'inizio sembra tutto tremendamente insormontabile !

Programma Bootp e Tftp in Visual Basic

Tip Questo programma e' stato sviluppato per poter effettuare il download del firmware all'interno di un apparato che, all'accensione, ne fa richiesta ad un Server remoto attraverso la rete Ethernet.
Per far cio', l'apparato ha implementato al suo interno, un processo BootP Client che permette di ricercare sulla rete attraverso la porta 69, un Server che gli spedisca un indirizzo IP sulla porta 68 in modo da poter far partire un client TFTP (Trivial File Transfer Protocol). Il codice e' stato notevolmente semplificato, in quanto per le necessita' a cui era destinato, non era necessario testare, ad esempio, l'indirizzo MAC della scheda di rete dell'apparato.
Questa e' la schermata principale del programma.



All'avvio del programma, bisogna specificare l'indirizzo IP della scheda di rete aggiuntiva presente nel PC, che permette il dialogo tra apparato e rete Ethernet globale su cui si trova il Server.
Di seguito, trovate i link al protocollo BootP e TFTP e i sorgenti in Visual Basic del programma.
Spero che questo software possa essere utile a qualcuno !
Protocollo BootP.
Protocollo TFTP.
Download del progetto in Visual Basic BootP + TFTP

Link Visual Basic

Sito comune del newsgroup it.comp.lang.visual-basic
Begin End: ottimo sito in italiano.
VBAccelerator: codice complesso in VB (In inglese).

Il sito di Mauro Rossi (Codice FREE).