Newsgroup: it.comp.lang.visual-basic
Titolo: Programma lento su XP (ma non su tutti i pc)

Salve a tutti.
(Questo programma è diventato la Novella dello stento). Dunque, ho finito un
piccolo applicativo gestionale e l'ho debuggato, ma quando lo vado ad
installare sulle macchine target gira molto lentamente su alcune con XP, e
non sono riuscito a capire da cosa dipende.
Il programmino è sviluppato in VB6 sotto Win98se, si appoggia ad un db MSDE
e usa CR8.5. La connessione al database è fornita da un DSN che io creo al
momento dell'installazione.
Io l'ho testato su 2 macchine con Win98se e funziona a modo, poi su una di
queste due macchine ho installato Win2000 e anche lì funziona senza
problemi.
Quando ho messo XP Pro ha cominciato a girare molto lentamente - venti
secondi per aprire un form e due minuti per aprire un report. Allora l'ho
installato su altre quattro macchine XP, e su un'altra ha dato gli stessi
problemi.
Sulla mia macchina ho fatto diversi tentativi:
- ho installato VB6 (lanciandolo dall'IDE, la riga dove 'pensa' a lungo,
senza peraltro generare errori, è l'istruzione CR1.Action), e non è cambiato
nulla;
- ho installato CR8.5 e non è cambiato nulla;
- ho installato SQLServer, e non è cambiato nulla;
- ho preparato un pacchetto di installazione con VSI, e l'ho installato da
lì, ma ancora non è cambiato niente: il programma gira lentamente.
D'altronde nelle macchine dove gira normalmente non sempre sono installati
tutti questi applicativi.
I pc sono tre desktop con P4 3Ghz e 512Mb di Ram, e due portatili sui quali
però gira normalmente. La dotazione software non è uguale: le uniche cose in
comune sono Windows XP, il mio programma e MSDE, poi qualcuno ha Office 2000
e qualcuno 2003, qualcuno CR, SQLServer e/o VB6, e qualcuno no.
Insomma, ho l'impressione che ci sia qualche impostazione software che
rallenta il tutto, ma non sono riuscito a capire cosa e dove andare a
guardare. Ho anche pensato che potesse dipendere dalle impostazioni di ODBC,
ma nei pc in esame sembrano tutte uguali.
E' già successo a qualcuno? Ogni suggerimento è bene accetto, e leggerò
attentamente ogni risposta. Grazie a tutti.
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 ma nei pc in esame sembrano tutte uguali.
Potresti provare a controllare con il taskmanager chi si ciuccia la cpu
nelle fasi di blocco.
Potresti provare a disattivare il firewall di XP, e/o disattivare AntiVirus
e vedere che succede.
Infine magari usando W98 hai usato qualche dll ecc. più vecchia, potresti
provare a compilare tutto su una macchina W2K.
-- 
DBMS Firebird
VB6 + Ado

 provare a compilare tutto su una macchina W2K.
Fatto, sia su XP sia su Windows 2000. In effetti, visto che ho dovuto
installare VB per vedere nell'IDE quale era l'istruzione che rallentava, ho
anche tentato a ricompilare il programma, ma senza fortuna: anche
ricompilato va lento.
E per il discorso delle dll. ho tentato sia con un pacchetto di setup, sia
semplicemente copiando a mano l'eseguibile ed i file INI, nelle macchine
dove non c'era bisogno di registrare i componenti, senza sovrascrivere
nessuna dll. Ma il problema di lentezza c'è sempre.
Ho controllato tutto, ma soprattutto non riesco ad immaginare cos'altro
possono avere in comune le due macchine nelle quali va lento, visto che il
S.O. e il SP (il 2) sono gli stessi delle macchine su cui gira bene.
Su una c'è VB6, CR e ora anche SQLServer, sull'altra niente di tutto ciò, ma
nonostante tutto il problema c'è ancora su entrambe.
In base ai test con/senza che ho fatto Sono abbastanza sicuro che il
problema non dipende da:
Office 2000 o 2003
SQLServer e/o Crystal Report e/o VB6 installati oppure no
sistema operativo in cui è stato compilato, XP, 98 o 2000
antivirus
firewall di XP
DSN utilizzato (ho provato a cambiarlo, ma non è andata meglio)
E' un bel rompicapo, vero?
Grazie per l'attenzione, io rimango in ascolto.


Ciao, a me era successa una cosa simile quando e' uscito il Service
Pack 2 di XP (magari potresti provare con l'SP1 per vedere se il
problema e' legato al service pack).
Dopo un milione di prove il problema, almeno nel mio caso, erano
dichiarazioni di funzioni di questo tipo:
Function miaFunzione(MioRecordset AS ADODB.Recordset, .....)
che non so perche' ma all'SP2 non piacciono x niente. Sostituendo
semplicemente con
Function miaFunzione(MioRecordset AS Object, .....)
cambia tutto dal giorno alla notte.
Spero di poterti essere stato di aiuto, so quanto sono frustranti
problemi di questo tipo.
Ciao e in bocca al lupo.

 Ciao e in bocca al lupo.
Ciao anche a te e grazie ancora per l'interessamento.
