Autore Topic: [RISOLTA] Elementi del form ripetuti in tutti gli altri  (Letto 2831 volte)

Offline ZioCrick

  • Gamberetto
  • *
  • Post: 31
    • Mostra profilo
Re: [RISOLTA] Elementi del form ripetuti in tutti gli altri
« Risposta #15 il: 18 Marzo 2013, 11:03:02 »
Grazie vuott.
Ho avuto la risposta che cercavo, e credo che anche Michy ne possa giovare parecchio.  :)

Offline sotema

  • Maestro Gambero
  • ****
  • Post: 467
    • Mostra profilo
Re: [RISOLTA] Elementi del form ripetuti in tutti gli altri
« Risposta #16 il: 18 Marzo 2013, 11:40:17 »
Attenzione che Gambas non permette di usare l'ereditarietà in una FORM.
L'oggetto FORM eredita la classe WINDOW; tentando di ereditare una Form otterresti l'errore di doppia eredità (cannot inherit twice)
L'unica soluzione percorribile è quella proposta da Milio.
L'uomo ha inventato la bomba atomica, ma nessun topo al mondo costruirebbe una trappola per topi.
Albert Einstein

Offline ZioCrick

  • Gamberetto
  • *
  • Post: 31
    • Mostra profilo
Re: [RISOLTA] Elementi del form ripetuti in tutti gli altri
« Risposta #17 il: 18 Marzo 2013, 11:57:48 »
Attenzione che Gambas non permette di usare l'ereditarietà in una FORM.
L'oggetto FORM eredita la classe WINDOW; tentando di ereditare una Form otterresti l'errore di doppia eredità (cannot inherit twice)
Caspita! ...  Questo e' grave!   :hard:
Ma allora la OOP che fine fa?

Offline Michy9393

  • Gran Maestro dei Gamberi
  • *****
  • Post: 570
  • Ubuntu: Linux for Human Beings
    • Mostra profilo
Re: [RISOLTA] Elementi del form ripetuti in tutti gli altri
« Risposta #18 il: 19 Marzo 2013, 10:44:49 »
Mi state aiutando veramente tanto :) Grazie!

Offline sotema

  • Maestro Gambero
  • ****
  • Post: 467
    • Mostra profilo
Re: [RISOLTA] Elementi del form ripetuti in tutti gli altri
« Risposta #19 il: 19 Marzo 2013, 10:56:27 »
Attenzione che Gambas non permette di usare l'ereditarietà in una FORM.
L'oggetto FORM eredita la classe WINDOW; tentando di ereditare una Form otterresti l'errore di doppia eredità (cannot inherit twice)
Caspita! ...  Questo e' grave!   :hard:
Ma allora la OOP che fine fa?

Guarda che la OOP non è solo l'implementazione che ne fa MS.

In ogni caso per evitare l'errore potresti usare il seguente metodo:
disponendo di una Form2 che vuoi inserire nella Form1 nella classe di Form1 inserisci il seguente codice

Codice: gambas [Seleziona]
Public Sub _new()
Dim myForm As Form2
  myForm = New Form2(Me)
  myForm.Show()
End


e ti ritrovi con Form2 inserita in Form1
L'uomo ha inventato la bomba atomica, ma nessun topo al mondo costruirebbe una trappola per topi.
Albert Einstein

Offline ZioCrick

  • Gamberetto
  • *
  • Post: 31
    • Mostra profilo
Re: [RISOLTA] Elementi del form ripetuti in tutti gli altri
« Risposta #20 il: 19 Marzo 2013, 13:20:12 »
In ogni caso per evitare l'errore potresti usare il seguente metodo:
disponendo di una Form2 che vuoi inserire nella Form1 nella classe di Form1 inserisci il seguente codice
Non l'ho provato, ma mi sembra che non abbia nulla a che vedere con la OOP visto che comunque restano due form distinte con gestione degli eventi distinti etc. O no?

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: [RISOLTA] Elementi del form ripetuti in tutti gli altri
« Risposta #21 il: 19 Marzo 2013, 15:08:31 »
Si...

In realtà l'oggetto Form si riesce pure a renderlo ereditabile, ma l'ide non lo prevede, per cui non presenta le proprietà di nuovi oggetti ereditati dalla Form.

Come già suggerito, Window è l'oggetto base da cui ereditare eventuali Form personalizzate, cosa che avviene più o meno anche in altri linguaggi, come ad esempio anche Visual Basic...
Da codice, quindi, è possibile creare le proprie maschere ma, purtroppo solo a livello di codice, in quanto non è possibile farlo graficamente (finora...).


Offline ZioCrick

  • Gamberetto
  • *
  • Post: 31
    • Mostra profilo
Re: [RISOLTA] Elementi del form ripetuti in tutti gli altri
« Risposta #22 il: 19 Marzo 2013, 15:24:39 »
Come già suggerito, Window è l'oggetto base da cui ereditare eventuali Form personalizzate, cosa che avviene più o meno anche in altri linguaggi, come ad esempio anche Visual Basic...
Da quel che ho sperimentato io non era possibile in VB6, ma l'ho usata in VBnet alla grande, ed era comodissima.

Citazione
Da codice, quindi, è possibile creare le proprie maschere ma, purtroppo solo a livello di codice, in quanto non è possibile farlo graficamente (finora...).
Eh  :) ... speriamo che prossimamente venga implementata.
Infatti quel che avevo letto su Gambas mi aveva entusiasmato, perche' mi sembrava un linguaggio semplice e con un bel IDE (tipo VB6) ma con le potenzialita' di VBnet (proprio per la OOP).