Newsgroup: it.comp.lang.visual-basic
Titolo: Richiesta aiuto da un principiante

Anticipo che non sono un programmatore. Ho scritto un programmino che
rendesse disponibili dei dati acquisiti da una scheda I/O sotto forma di
DDE, in modo da utilizzarli per altre cose.  Il programma in questione
funziona abbastanza bene, ma quando lo trasferisco su una macchina dove non
c'è il VB, l'eseguibile non parte perchè non trova il file Msstdfmt.dll.
Bene, ho provato a copiare il file nella dir system32 senza nessun risultato
(s.o. Win NT4 con sp4). Dov'è il problema? è un errore mio di compilazione o
cosa? mi sembra strano che, una volta compilato un codice, questo abbia
bisogno del VB per poter funzionare.
Grazie a coloro che vorranno darmi un consiglio. Paolo

bisogno del VB per poter funzionare.
Devi abituartici!!!! ^___^
VB non cenera EXE stand-alone, ma ha bisogno di una Virtual Machine (MSVBVM#0.DLL, dove # è il numero di versione, ad
esempio 5 o 6)) ed inoltre degli OCX e DLL utilizzati.
Questi devono essere registrati (tramite RegSvr32.Exe) e messi nella dir System di Windows (va bene anche nella dir del
programma o in altre, ma è sconsigliato).
Visto che la faccenda è un po' macchinosa, assiema a VB c'è un programma, chiamato AutocomposizioneInstallazione o Setup
Wizard che genera dei pacchetti di installazione e provvede ad installare correttamente il programma e tutti i file di
cui ha bisogno nel sistema destinatario.
Ciao,
Moreno
#sirri#@
morenosoft.com
(togliete "#" dall'indirizzo)
Moreno Sirri VB Site - 
http://www.morenosoft.com/MSVBSite/
Home Page - 
http://www.geocities.com/SiliconValley/Bridge/1414/
---------------------------------------------------------------------------
Le risposte alle tue domande le trovi sul Sito Comune di questo NewsGroup:
 
http://www.murialdo.it/it_lang_vb
---------------------------------------------------------------------------

bisogno del VB per poter funzionare.


programma o in altre, ma è sconsigliato).
Scusa l'intromissione, ma l'argomento mi interessa: perchè è sconsigliato
mettere DLL ed OCX nella directory del programma? Per consentire anche ad
altri eventuali programmi di utilizzarli, senza doverli duplicare? O che
cos'altro?
Grazie
Ciao
Cesare Nicola

cos'altro?
Piů o meno esatto....
quando registri un OCX/DLL, vengono scritte delle info nel Registry circa versione e posizione. Ma se cambi la
posizione....... => Windows\System e tutti tranquilli.... il SO risulta piů "sporco" di decine di runtime di programmi
magari disinstallati, ma almeno i programmi (il SO č chieder troppo) funzionano..... ^___^



Considerando che le DLL prima e gli OCX poi sono nati proprio con lo scopo
di condividere funzioni (e/o oggetti) tra piu' programmi, la risposta ovvia.
Inoltre con le DLL ActiveX e gli OCX, la cosa si complica, poiche' questi
sono registrati nel registry di sistema (con tanto di path) e se li leghi
troppo ad un particolare programma (installandoli nella stessa directory)
puoi correre il rischio di cancellarli quando cancelli la directory del
programma, lasciando pero' delle registrazioni "fantasma" nel registry (e
gli altri programmi che usano gli stessi ocx, che fanno???)
--
Roal Zanazzi
z...@iol.it