Newsgroup: it.comp.lang.visual-basic
Titolo: FileSystemObject a volte non funziona!

Proprio così...
Su un pc di un cliente una semplice procedura:
1) Creazione file pdf in C:\Fattura_1.pdf con una stampante virtuale
2) Controllo se esiste C:\Archivio\Fattura_1.pdf, se esite la elimino
3) Sposto  (fso.move) il file pdf da C:\ a C:\Archivio
Quando Fattura_1.pdf è già archiviata, SENZA dare alcun errore e
passando per i 3 punti elencati, il file archiviato non viene
aggiornato.
Questa procedura server per esempio se correggo una fattura e la
riarchivio.
Ho fatto il debug 100 volte, funziona tutto: quando sposto da c:\ a
c:
\archivio mi torna il file vecchio!!!
Succede solo su 1 pc di un cliente, da me no...posso provare scandisk
o altro prima di impazzire del tutto?
Grazie
Ciao

Scriveva lucchino mercoledì, 04/03/2009:

FilesystemObject viene neutralizzato da molti antivirus, essendo parte 
di ScriptingRuntime.
Prima di impazzire, fai fare la prova con antivirus disabilitato 
(completamente spento).
Alberto
-- 
Heinrich Zille: Ognuno crede che l'altro sia come se stesso, 
dimenticando che al mondo esistono anche delle persone oneste.

 wrote:
zac
Detta così mi sembra pericolosa!
In quanto non vedo perchè invece che in c:\ tu non faccia generare
direttamente in c:\fattura il file ricoprendo automaticamnte il
vecchio file!
Il buon vecchio pdfcreator è agganciabile da VB6 e anche net e fa
tutto da codice!
Il pericolo però se è vera questa procedura è un altro....
se il nuovo file è corrotto?...o ha generato solo 3 pagine su 4?....
capisco allora che lo generi in un altra cartella...controlli che non
ci siano errori ...e poi sposti il file!
Mi è capitato che pdfcreator su una stampa di 300 pagine arrivvasse
verso la 270esima e si "incriccasse" per una pagina fatta male!

Mi č capitato che pdfcreator su una stampa di 300 pagine arrivvasse
verso la 270esima e si "incriccasse" per una pagina fatta male!
pdfcreator č un gran sw, ma non č sempre affidabile.
un file di word, 35 mb con 300+ immagini di 800px, l'ho rifatto varie volte 
e il pdf era praticamente sempre incasinato.
passato lo stesso doc all'editore, coi loro mac, era perfetto, e ci sono 
andati in stampa.
quindi il prob era proprio in pdfcreator.
ciao

 quindi il prob era proprio in pdfcreator.
Anche io ne ho avute di tutti i colori, in particolare con file di word 
con tabelle di excel inchiodate dentro.
Ma lì non ci riusciva neppure pdf995. Solo con la funzionalità di 
creazione pdf di Word2007 ci riesco...
Alberto
-- 
Alessandro Bergonzoni: Il tempo vola e noi no. Strano sarebbe se noi 
volassimo e il tempo no, il cielo sarebbe pieno di uomini con 
l'orologio fermo.

 - Show quoted text -
Funziona tutto, sbaglia solo la copia del file!
Il file viene creato
Elimino il vecchio
Sposto il file e invece di trovarmi il nuovo rimane il vecchio! Come
se facesse un controllo subdolo e ritenesse più comodo rimettere il
vecchio perchè gli sembrano uguali...
(Forse sto fantasticando un pò troppo!)

 Alberto
Beh probabilmente li è un casino interno ad office!
....che può risolvere proprio office!
Tendenzialmente incrocio le dita...è 2 anni che ogni mese pdfcreator
stampa liste etichette e amenità varie....e non mi hanno mai chiamto
per stampe fatte male....
Adesso accendo una candela rossa....non vorrei tirami addosso la sfiga!

Beh probabilmente li è un casino interno ad office!
....che può risolvere proprio office!
no, lo fa sicuramente almeno anche da firefox, che già di suo sulla stampa 
perdeva abbastanza punti rispetto a ie (ma non ho provato di recente con le 
3.x) 

"lucchino"

1. puoi postare le righe di codice ?
2. su quel pc, data e ora funzionano regolarmente?
3. controlla anche cache e commit vari. se il vecchio lo elimini a mano, e 
vuoti il cestino, il move avviene regolarmente? su vista sto ammattendo. ho 
cambiato l'icona a un mio exe. tiro un collegamento in quicklaunch, e il 
simpaticone recupera l'icona vecchia (che nell'exe non c'è più in alcuna 
forma). unico rimedio, eliminare
C:\Users\[user]\AppData\Local\IconCache.db
e riavviare...
ciao 

Il Wed, 4 Mar 2009 03:26:16 -0800 (PST), Wodka40[Google] ha scritto:
[cut]
Con CutePdf (che si appoggia a ghostscript) mai avuto problemi, ed è
freeware pure lui.
PaF

"lucchino"
in ogni modo, non fai prima
name archivio\fattura.pdf as archivio\fattura_old.pdf
name fattura.pdf as archivio\fattura.pdf
fso può essere comodo, ma per il rename (di questo si tratta) c'è la nativa 
di vb...
?


Il codice originale (che funziona dappertutto a parte questo maledetto
pc per ora) era:
' Creo il file pdf in C:\Abc.pdf
DoCmd.OpenReport Rs!Nome, , , Filtro
' Aspetto che la stampa sia terminata
Spl.Aspetta_Code_Stampa
' Lo sposto nel percorso corretto
If F_Shell.FileEsiste(NuovoPercorso) Then Kill PercorsoFile
Name "C:\Abc.pdf" As NuovoPercorso
Successivamente ho provato ad usare FileSystemObject per vedere se
cambia qualcosa....
Ci ho inserito anche dei controlli dopo ogni fase per vedere se il
file viene creato, cancellato...
Mi sa tanto che è come l'icona di Andrea!

 Name "C:\Abc.pdf" As NuovoPercorso
solo per curiosità, puoi provare il vecchio anziché eliminarlo a
rinominarlo _old.pdf ?

 If F_Shell.FileEsiste(NuovoPercorso) Then Kill PercorsoFile
Questa non l'ho capita.
Se esiste un file X cancelli il file Y?
Alberto
-- 
Thomas Fuller: Ci sono persone che sono state considerate coraggiose 
perchè avevano troppa paura per scappare.

' Lo sposto nel percorso corretto
Forse non ho capito io cosa vuoi fare, ma il FSO supporta il File.move:
http://www.devguru.com/technologies/vbscript/QuickRef/file_move.html
--
ciao
  Stefano


Scusa, avevo cambiato al volo il nome delle variabili per rendere +
chiara la cosa :)
Ecco:
If F_Shell.FileEsiste(PercorsoFile) Then Kill PercorsoFile

   Stefano
Già provato ad usare fso per fare tutto, compreso move: niente da fare

Già provato ad usare fso per fare tutto, compreso move: niente da fare
Forse dipende da qualche permesso sui files, chissà.
Ti segnalo Autoit, puoi fare un sacco di cose in più che col fso, come chiamare
DLL, e se chiami l'api CopyFile o MoveFile puoi valutare dal codice di ritorno
l'esito della call.
http://www.autoitscript.com/autoit3/index.shtml
--
ciao
  Stefano

 ha scritto nel messaggio 
news:a447d2d0-fbb2-41e3...@j39g2000yqn.googlegroups.com...
Proprio cosě...
Su un pc di un cliente una semplice procedura:
1) Creazione file pdf in C:\Fattura_1.pdf con una stampante virtuale
2) Controllo se esiste C:\Archivio\Fattura_1.pdf, se esite la elimino
3) Sposto  (fso.move) il file pdf da C:\ a C:\Archivio
======================================================
Dopo che č stata creata la prima versione di Fattura_1.pdf  viene forse 
visualizzata prima di essere aggiornata ?
PS
Chi mi dice perchč quando faccio "Rispondi al NG" da Outlook Express non mi 
mette il simbolo > davanti ad ogni riga di testo della persona a cui 
rispondo ?

 rispondo ?
imho per la codifica dei loro reader, come RE: e R:
di solito outlook non express queste cose le gestisce coi piedi.
a me capita sempre con chi usa quello.
btw, zebracode ero io dall'ufficio. 

 Content-Transfer-Encoding: quoted-printable
Bye, G.

 Proprio così...
ho letto questa strana discussione
scusa eh.....che sistema operativo ha il pc incriminato?
cmq
IN MANUALE
crea una cartella TEST_A ed una TEST_B
creati un pdf: pippo.pdf in TEST_A
copialo in TEST_B
poi
rigenera un DIVERSO pippo.pdf int TEST_A
e copialo in TEST_B
che pippo.pdf c'è in TEST_B?
Il nuovo o il vecchio?
se c'è il vecchio hai qualche sistema di protezione del contenuto
della cartella attivo!
Se c'è il nuovo....
prova a far rifare questa procedura da codice
spezza il codice in 2 programmi
Programma A genera il nuovo pdf
Programma B sposta il file
Se non funziona ne A ne B....hai l'antivirus che blocca FSO!
Se funziona A
ma non B
non hai permessi per scrivere nella cartella...o robe simili!
Se funziona A
E ANCHE B
MA NON
il tuo programma A+B
sposti il file PRIMA che la stampante virtuale lo renda
disponibile...e per qualche bug logico (resume next?) non ti si pianta
ma va avanti...di fatto NON COPIANDO NULLA!
prova amico mio!
Il pc non ha volontà propria...almeno non più di un ferro da stiro!

 wrote:> Proprio così...
A "cazzotto in cielo" per me hai disabilitato gli errori (resume
next...on error goto)
su gli altri pc non ti si pianta e copia il file!
su questo pc si pianta....ma la gestione dell'errore non lo fà
fermare....e non copia nulla...e quindi sembra funzionare e che il pc
ti voglia male!



disabilita tutti i trap dell'errore....e lancia il programma...poi ne
riparliamo!
eh eh eh!

> Content-Transfer-Encoding: quoted-printable
anche nei *mail* che mi rispondono con R:, e nei quali, se rispondo a mia 
volta (e diventa RE: R: abcde), non ci sono i greater? 

rispondo ?
Io non uso OE, ma credo c he Quotefix possa aiutarti:
http://home.in.tum.de/~jain/software/oe-quotefix/
--
ciao
  Stefano

 Il pc non ha volontà propria...almeno non più di un ferro da stiro!
Sul pc a fianco tutto ok.
Su questo niente da fare, ho verificato passo passo facendo il debug
Io non dico che il SO (in questo caso XP SP2) abbia volontà propria,
dico solo che anche il SO può avere un bug!
Grazie a tutti
Ciao


Mi rendo conto che passano gli anni e il NG rimane sempre lo
stesso....
e allora bisogna tornare alle vecchie abitudini...tornare a fanculare
i troll!
Quindi scriviamo non per Luchino...che tanto ha già fatto la
suadiagnosi e non si smuove da lì!
La sua diagnosi è che XP sp2 è bacato....QUEL XP sp2 di QUEL pc
poi...ha evocato il "dio oscuro" e ce l'ha particolarmente con lui!
Nessuna arte magica ...runa celtica potrà nulla! Gli dei della
Microsoft ce l'hanno con lui ed il suo magnifico programma!
Sto leggendo un libro.....
questo libro
http://www.lafeltrinelli.it/products/9788804549659/Perche_il_toast_cade_sempre_dalla_parte_imburrata/Richard_Robinson.html
LO CONSIGLIEREI A TUTTI
non è un libro satirico....è scientifico! Ed è illuminante!
Il nostro cervello fà deduzioni...collega dati....ma spesso non lo fà
in maniera corretta!
Ci VOGLIAMO convincere di cose che ci sembrano VERE....e pieghiamo la
realtà affinchè le nostre convinzioni siano confermate!
Nello specifico...
se ha 3 PC...ed un programma....
se il programma ha dei problemi su 1 pc e nessuno su 2 pc....è la
colpa del pc o del programma???
Saremmo portati per orgoglio a definire il problema in questi termini:
se il mio programma gira senza problemi su 2 pc....è fatto bene!
Su un pc il mio programma non gira?...è fatto male il pc!
Ed è una convinzione errata...
il candidato alla "fallazione" invece è proprio il mio programma!
Il mio programma che non si adatta a vari settaggi...o a varie
situazioni che non ho contemplato.
Io avevo fatto un programma che prevedeva che i files andassero a
finire in c:\archivio\stampe....
e installato su vari pc funzionava
un giorno una azienda volle installare le stampe in c:\archivio\stampe
\2005\....e non funzionavano!
Avevo cablato un path assoluto....e infarcito, per paura di fare
brutta figura, il programma di on error resume next.
Il programma senbrava funzionare ma non stampava...ma solo in
quell'azienda!
Quindi era fatta male quell'azienda...perchè il mio programma
funzionava in altre aziende!
E' il mio cervello atavaico che mi porta a sbagliare...viviamo in un
mondo troppo complesso...ancora il cervello non si è evoluto a
sufficienza!
E' molto probabile che il programma di Luchino sia sbagliato...ma il
suo cervello porta alla conclusione che sia più facile che sia
sbagliato "il mondo" piuttosto che la sua "creatura"!!!
E tutti noi quotidianamente facciamo queste scelte errate!
Leggete il libro!...ve lo consiglio!
A lucchino non consiglio oramai più niente....si arrangi....tanto è
sordo a questi cosigli!
Spero che quello che ho scritto sia illuminante per altri a come NON
farsi riempire di preconcetti...ed a cercare di rimanere (anche se è
dificilissimo e talvolta impossibile) il più possibile "neutrali" nei
confronti del proprio lavoro!