Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - chi chiama una sub?
Forum - Visual Basic 6 - chi chiama una sub?

Avatar
decka88 (Normal User)
Newbie


Messaggi: 3
Iscritto: 18/03/2008

Segnala al moderatore
Postato alle 10:26
Martedì, 18/03/2008
ciao
esiste un modo per sapere quale form ha richiamato una data procedura?
grazie

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 13:43
Martedì, 18/03/2008
Scusa cosa hai detto?

Non ho capito di cosa hai bisogno e cosa stai cercando di fare.

Spiegati meglio:-|:-|

PM Quote
Avatar
decka88 (Normal User)
Newbie


Messaggi: 3
Iscritto: 18/03/2008

Segnala al moderatore
Postato alle 13:52
Martedì, 18/03/2008
si scusa...
praticamente vorrei che una sub ricvonoscesse da quale form ( il form su cui si trova la sub chiamante ) e a seconda del form chiamante far eseguire del codice.
sono stato piu chiaro?

PM Quote
Avatar
LuigiBiasi (Normal User)
Expert


Messaggi: 237
Iscritto: 15/09/2006

Segnala al moderatore
Postato alle 13:57
Martedì, 18/03/2008
ciao in questi casi passi un parametro alla sub in questo modo:
Codice sorgente - presumibilmente VB.NET

  1. public sub MiaSub(cmd as integer)
  2. 'a seconda del valore di cmd esegui una procedura...
  3. select case cmd
  4. case 1
  5. 'esegui una cosa quando cmd vale 1
  6. case 2
  7. 'esegui un altra cosa quando cmd vale 1
  8. end select
  9. end sub



adesso quando chiami la sub li passi un parametro
Codice sorgente - presumibilmente VB.NET

  1. x esempio in un form
  2. private sub form_load()
  3. MiaSub 1
  4. end sub
  5. oppure in un command_button
  6. private sub command_click()
  7. MiaSub 2
  8. end sub
  9. ecc...



in questo modo puoi sapere se è kiamata dal form o dal command button, poiche se è chiamata dal form cmd avra valore 1 se è kiamata dal commandbutton avra valore 2 ecc..
Spero di averti dato una mano cosi..
ciao

PM Quote
Avatar
decka88 (Normal User)
Newbie


Messaggi: 3
Iscritto: 18/03/2008

Segnala al moderatore
Postato alle 14:02
Martedì, 18/03/2008
grazie mille.
però il mio problema è che sto mettendo mano a un software che nn ho creato io.
ora è sorta la necessità di fare delle modifiche e devo impedire, in questo caso, alla form_load di eseguire una parte di codice nel caso venga eseguita quando il form viene mostrato in seguito alla visualizzazione di una tabella...
in tutti gli altri casi il codice va eseguito totalmente..

PM Quote
Avatar
LuigiBiasi (Normal User)
Expert


Messaggi: 237
Iscritto: 15/09/2006

Segnala al moderatore
Postato alle 14:29
Martedì, 18/03/2008
allora o utilizzi il metodo che ti ho postato con una piccola modifica..
Testo quotato

Postato originariamente da LuigiBiasi:
Codice sorgente - presumibilmente VB.NET

  1. public sub MiaSub(optional cmd as integer =0)
  2. 'a seconda del valore di cmd esegui una procedura...
  3. il cmd<>1 then 'cioè nn viene dal form
  4. 'codice che non deve essere eseguito se la funzione è chiamata dal form
  5. end if
  6. 'codice che viene eseguito in ogni caso
  7. end sub



adesso quando chiami la sub li passi un parametro
Codice sorgente - presumibilmente VB.NET

  1. x esempio in un form
  2. private sub form_load()
  3. MiaSub 1
  4. end sub
  5. questo parametro visto che è opzionale glielo passi solo nella form




oppure usi un flag che di default è inizializzato a 0 invece nel fomr è inizializzato ad uno e nella sub verifichi se questo è 0 non vieni dal form altrimenti si e non esegui le instruzioni...

Ciao..

Ultima modifica effettuata da LuigiBiasi il 18/03/2008 alle 14:34
PM Quote