Newsgroup: it.comp.lang.visual-basic
Titolo: Curiosità - Crash VB6

Giusto per curiosità riporto un modo in cui ottengo il crash
sistematico di VB6 versione 6.00.8176.
1- Aprire il codice di un modulo o form qualsiasi.
2- Ingrandite la finestra del codice.
2- Attivate la finestra del "Trova" (Ctrl+F).
3- Assicuratevi che nella casella col testo da ricercare ci sia
scritto qualcosa, così il pulsante "Trova successivo" si attiva.
4- Ora chiudete tutti i form aperti col "Chiudi Finestra" in alto a
destra (non cliccate sulla finestra principale di VB ma solo sulla
"X").
5- Ora cliccate sul "Trova successivo" che dovrebbe essere rimasto
attivo ...
Ciao!

 sistematico di VB6 versione 6.00.8176.
Ihihihih >:-]
In effetti bel bug! LOL.
Alex


Chi ha scritto il trova del VB non doveva essere proprio un genio...
Non e' l'unica pecca di questo comando, ad esempio io ODIO quando viene
disabilitato durante il debug....
Esegui l'applicazione, la interrompi con CTRL-BRK e cerchi "cippirimmerlo",
ovviamente lui non lo trova e... non si puo' cercare un'altra parola...
bisonga uscire e rientrare dal trova..... MA PERCHE' ??

 attivo ...
No, a me, appena chiudo la finestra del codice (una sola) si disattiva...

 disattiva...
Io ho la stessa identica tua ma se faccio i 5 punti crasha....
Alex

bisonga uscire e rientrare dal trova..... MA PERCHE' ??
Probabilmente perche' nel debug dall' IDE il processo debuggato e'
visual basic stesso che interpreta il codice sorgente e non dev'essere
banale scrivere un trova che gira in un thread, mentre un altro thread
si trova in modalita' interruzione.
-- 
ciao, hal

 No, a me, appena chiudo la finestra del codice (una sola) si disattiva...
Anche a me funzia senza crashare

 Io ho la stessa identica tua ma se faccio i 5 punti crasha....
A me crasha semplicemente facendo trova senza finestre visualizzate, non 
serve nemmeno massimizzarle.
Ciao

Bhe la situazione e' di parita' , 2 dicono che crasha e 2 no ... ora provo
io per vedere chi vince .....
ok ,mi e' crashato!
< ANALISI >
Ecco il  semplice motivo, hanno scritto male la parte che disabilita il
comando "Cerca successivo" , infatti fate la prova , notate il passo B !
1) nuovo progetto exe standard
2) aprite la finestra di codice
3) aprite la finestra di ricerca
4) scriveteci qualcosa
Passo (A)
5) chiudete le finestre normalmente e poi
6) date il focus alla finestra trova
7) il bottone si disabilita
8) OK
Passo (B)
5) chiudete le finestre con ChiudiFinestra dal menu "Finestre"
6) il focus rimane sulla finestra trova con il command abilitato e se
clikkate
--> 7) -  CRASH -   <--
8) - BEVONO -
Paso (C)
5) chiudete le finestre con ChiudiFinestra dal menu "Finestre"
6) Cliccate sull'ide in modo da far perdere il focus alla finestra trova
7) ridate il focus alla finestra trova e il tasto si disabiita !
8) Ok
quindi il codice di disabilitazione del command button e' sul gotfocus o
sull'activate della Form "Trova" ... scusate ma a me' sto metodo di
controllo pare pietoso ! :-/
-- 
<Gigio2K>
Sito Comune
Nokia -> I.T.H.N. -> 
http://www.ithn.it/
VB -> I.C.L.VB -> 
http://www.it-lang-vb.net/

 clikkate
None! Come scrivevo, a me quel bottone si disabilita quando chiudo il
codice.
E, non fidandomi, nemmeno per finta (ho provato a cliccarci sopra).

[*Zanna* : 
znt....@virgilio.it
] ha scritto:

A me il Trova, in quelle condizioni, appare disabilitato e il Ctrl+F viene
ovviamente ignorato.

> 5) chiudete le finestre con ChiudiFinestra dal menu "Finestre"
Ok, ho voluto seguire diligentemente e, vero, usando il menů Finestre e
Chiudi Finestre (a differenza del post iniziale dove si indicava di chiudere
con la X), casca tutto.

 chiudere con la X), casca tutto.
infatti e' solo un problema di Lost/GotFocus che non scattano con la "chiudi
finestre"
Ma ora posso farti una domanda ( vabbe' che siamo di parte ma ...) ma tu
l'avresti organizzato cosi il codice ? o saresti passato per un flag o
meglio avresti lasciato il compito di disabilitarlo alla chiusura della
finestra di codice ?


 finestra di codice ?
Se io l'avrei scritto così? Ecchilopòsapè?!
Gigio, se un operatore clicca a destra e manca nei tuoi (e, ovviamente, nei
miei) programmi, cosa pensi che accada? Io cerco di starci attento, ma non
riesco ad immaginare tutto, nè, a un certo punto (pur un po' in là), mi
importa più di tanto. Se salta fuori un problema, ammesso che mi sappiano
dire esattamente come riprodurlo (basta leggere questo topic per rendersi
conto di quanto non sia facile), ci metto mano. Viceversa vivo lo stesso
tranquillo.
Nel caso specifico, visto che si tratta di un crash, probabilmente dovuto a
qualche chiamata di API senza passarle dati coerenti, avrei esposto un
messaggio del tipo "'a struzzo, cosa cavolaccio cerchi che non c'è nulla in
cui cercare. Struzzo!", ma, a  quel punto, avrei anche corretto il mio
(ovvero loro) errore. L'assenza di controllo, in sè, non è grave. E' grave
che il sistema caschi, perdendo tutto. Ma io, d'abitudine (e non userò mai
SS!), salvo ogni 5 minuti, non di più! Se mi interessa (nel dubbio)
mantenere una versione precedente, lancio un BAT che mi zippa tutto, 10
secondi di tranquillità.

 E' grave che il sistema caschi, perdendo tutto.
Gia' , quindi certe cose sarebbero da mettere negli SP , io ho trovato anche
l'altro bug del taglia&incolla dei controlli bound , quasi quasi mando una
segnalazione a M$ per l'sp6 ^_-


 segnalazione a M$ per l'sp6 ^_-
Manda, manda ..., spera, spera ... ;-)
La filosofia (non solo M$) ormai dovrebbe esserci chiara:
Un prodotto non deve essere perfetto. Come faremmo a vendere il successivo,
dichiarando, come sempre, che è la fine del mondo? Non ce ne fotte un tubo
se poi non è vero (e, da anni, è sempre meno vero), faremo qualche
quintalata di SP, i test li fanno loro (noi risparmiamo), ma intanto abbiamo
venduto e incassato. Chi se ne frega di chi sviluppa coi nostri prodotti?
L'importante che lecchiamo, dietro e pure davanti, i "grandi clienti"...