Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    188

    [vb6 sp6] Oggetto Form.

    Salve a tutti.

    vorrei poter risolvere questo problema: avendo un base generica di avvio gestionale, vari gestionali che, logicamente (secondo me), sfruttano FORM diverse, alcune comuni altre no, vorrei, sul form principale iniziale, poter passare la FORM da caricare a seconda del tipo di gestionale.

    Provo a spiegarmi meglio

    invece di:
    codice:
         if x =1 then
      
           form1.show
         elseif x =2 then
      
           form2.show
    
         elseif x =3 then
      
           form3.show
         end if

    volevo utilizzare qualcosa del tipo
    codice:
        public tipoform as form
    a livello di modulo

    codice:
         if x =1 then
      
           set tipoform = form1
         elseif x =2 then
      
           set tipoform = form2
    
         elseif x =3 then
      
           set tipoform = form3
         end if
      
    
        tipoform.show
    ma, così facendo, mi viene reso l'errore di oggetto non definito per la/le form non presenti nel progetto.

    si può ovviare?

    Stessa cosa se, volendo inserire, al verificarsi di un certo evento, l'esecuzione di una routine (definita a livello di modulo), piuttosto che un'altra (questo perchè ho cercato di categorizzare le routine + usate in moduli specifici (chiedo scusa se non riesco a spiegarmi bene, ma spero che Voi capiate lo stesso)

    Grazie e un 'fresco' (visto il tempo) saluto a tutti quanti.

  2. #2

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    188
    Salve Gibra,

    ora sono 'fuori'. Appena rientro provo e ti confermerò che funziona (sono certo, mi era 'scappato' il new )

    Saluti

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    188
    Caro Gibra,

    scusa se solo ora trovo il tempo di rispondere, ma, ho provato la tua sintassi, ma ho lo stesso il problema. Allora, mi spiego meglio, in quanto è molto probabile che non mi sono spiegato bene prima:

    io ho un form 'generico' di accesso al programma, tipo form di login, e, una volta ottenuto l'accesso, devo direzionare il programma ad un form iniziale, tipo 'anagrafico'.
    Siccome il form di login, lo uso su varie versioni di gestionale (leggi diversi progetti), accade che per un tipo di gestionale mi deve andare al form Anagrafico1, per altri al form Anagrafico2 e, 'naturalmente' nel progetto non è detto che ci siano entrambi i form.
    In questo caso, che ci sia solo il form Anagrafico1 (per ex.), succede che già quando compilo mi dà l'errore per oggetto mancante (o simile), [sto rileggendo, no, mi sembra che l'errore in compilazione me lo da sulle routine, vedi dopo, qui, infatti, per ora funziona con l'intercettazione dell'errore di 'oggetto mancante'].
    Per rimanere nello 'stesso' tema, mi accade la stessa cosa con delle routine che sono riuscito a parametrizzare, in maniera da utilizzarle senza dover riscrivere sempre il codice e che le ho definite a livello di modulo e alleggerire così il codice. Ora, se si combina che il modulo ove è presente una routine non viene inserito nel progetto "X" e, nel progetto c'è una porzione di codice che, in caso di verifica evento richiamerebbe questa procedura, ma nel corso nel progetto "X", non può verificarsi questo evento, ecco che mi si ricrea il problema.
    Attendo Vs, risposta, concedendoVi 'un mesetto' per cercare di interpretare il mio post

  5. #5
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Non ci ho capito molto...
    Non ho capito dove e quale errore ti da.

    A me non accade perchè nei miei progetti il form principale ha lo stesso nome in ogni progetto.

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    188
    Allora, partiamo dal fondo, in quanto forse, sto cercando di parametrizzare troppo per i form. In caso mi rifaccio vivo.

    Nel caso di routine o function definite a livello di modulo, con vari parametri che mi permette di richiamare tale routine varie volte in maniera da risparmiare la riscrittura del codice e, in caso di modifica, di modificare una sola routine in maniera da non 'perdermi', ebbene, nel qual caso uso il form, ma, non servendomi la routine, non inserisco il modulo, quando compilo mi dice che l'oggetto non è definito.

    C'è una soluzione a questo disguido, ovvero, sto cercando di creare i moduli con le routine, classificandoli, ma purtroppo mi capita che non ho omogeinità.

    Saluti

  7. #7
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Francamente mi sfugge il perchè tu adotti questo metodo, ma è ovvio che mi sfugga non conoscendo l'architettatura delle tue applicazioni.

    Da quello che ho capito tu fai riferimento dal codice ad oggetti (form) che non esistono.
    In tal caso forse ti possono aiutare gli Argomenti di compilazione condizionale.

    In questi due esempi spiego come fare:

    Excel - Outlook
    http://nuke.vbcorner.net/Articoli/VB...7/Default.aspx

    ti consiglio la lettura preventiva dell'articolo di Alex (il link lo trovi alla pagina sopra)

    Non credo tu abbia altra soluzione, almeno in VB6.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.