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
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 !
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).