Newsgroup: it.comp.lang.visual-basic
Titolo: [MTS] Interessante proprieta' di File System Object con MTS

Ho costruito un 'proxy' COM che, girando , sotto MTS, mi esegue alcuni DTS
di SQL 7 da un Activex contenuto in una pagine web della nostra intranet,
cosi' non sono costretto ad installare la typelibrary dei DTS in giro per la
rete. Per eseguire il DTS devo ottenere il nome del file da importare (e' un
file di testo) che sta sul server e per questo ho implementato un banale
metodo che, usando Scripting.FileSystemObject, restituisce un oggetto
folder. Nel client uso il metodo in questo modo:
Private fsoMyFolder As Scripting.Folder
Private Sub Form_Load() 'E un esempio... ma l'ho provato.
    Dim mtsImporta As DTSProxy.Importazione
    Set mtsImporta = CreateObject("DTSProxy.Importazione")
    Set fsoMyFolder = mtsImporta.GetFolder
    Set mtsImporta = Nothing
End Sub
Bene. Io immaginavo che una volta ottenuto l'oggetto folder esso fosse
statico, cioe' indipendente dal server.
Invece ho notato che l'oggetto folder e' straordinariamente dinamico, cioe'
se io aggiungo file sul server mi vengono immediatamente gestiti dal mio
oggetto folder lato client, senza che io debba risincronizzare nulla.
Inoltre posso tranquillamente usare tutti metodi dello scripring runtime.
Posso aggiungere che ho provato a caricare folder con molti file (200+) ma
le palle di mts non girano: l'oggetto e' a nothing.
Il tutto smette di comunque di funzionare dopo un po', quando MTS butta giu'
il componente.
Che ne dite?
saluti,
Alessandro Scardova
scar...@tin.it
http://space.tin.it/computer/ascardov/

dal NG del 09/12
Ciao a tutti,
ho un problema nell'utilizzare il FilesystemObject della libreria scrrun.dll
consigliatami alla mia prima partecipazione a questo splendido  NG per
risolvere il problema di leggere il serial number del hard disk.
Il problema è che se installo il mio software su un pc senza VB5 mi da un
messaggio di errore del tipo:
"
Run-time error 429
ActiveX component can't create object
"
Ho controllato e si pianta all'inizio del ciclo dove controlla l'esistenza
dei vari drives presenti nel pc il codice è:
"
DIM fs AS NEW filesystemobject
DIM drv AS drive
.........
FOR EACH drv IN fs.drive
.........
NEXT
"
Qualcuno sa dirmi dove sbaglio?
Mi pare di aver referenziato correttamente la libreria e di aver eseguito
correttamente la creazione del programma di setup con l'Application Setup
Wizard. Ho provato a leggere l'help di questo errore ma non sono riuscito a
venirne a capo, tra l'altro sul pc dove sviluppo (quindi con VB5 presente)
tutto funziona a meraviglia.
grazie 1K  in anticipo a tutti,
seguire il NG anche in modo passivo mi sta aiutando 'na cifra.
Elwood
P.S. uso VB5 enterprise edition  e Win95

Roberto,
    puoi provare ad instanziare fso non con il new ma con la createobject,
    Dim myfso as scripting.filesystemobject
    set myFso = createobject("scripting.filesystemobject")
    e' la setssa cosa in termini pratici, ma in realta' in new non instanzia
realmante la classe, ma la prepara ad esserlo al primo utilizzo. con la
createobject invece viene instanziata subito.
registra correttamente la DLL e nel caso pulisci il registry con regclean.
per registrare scrun.dll usa l'utility regsvr32.
lo scripting runtime non viene installato da ie4.0 ma dall'option pack per
w95 (credo). io ho un boot configurato per internet con W95 e IE4.0 ma non
ho scrun.dll.
se crei un setup wizard la devi includere.
ciao,
