Gambas-it

Archivi (sola lettura) => Programmazione (Gambas 2) => Topic aperto da: Ceskho - 07 Novembre 2010, 12:55:25

Titolo: Accedere ad oggetto in un form in una workspace
Inserito da: Ceskho - 07 Novembre 2010, 12:55:25
Ho una workspace che contiene un form che all'interno una textarea che al mercato mio padre comprò.....

Come faccio ad accedare a tutte le proprietà della textarea? Ad esempio la proprietà text non risulta valida se la uso...
Titolo: Re: Accedere ad oggetto in un form in una workspace
Inserito da: perseo - 07 Novembre 2010, 14:17:31
Ci sto diventando matto...  :rolleyes:

http://www.gambas-it.org/smf/index.php?topic=1481.msg16966#msg16966 (http://www.gambas-it.org/smf/index.php?topic=1481.msg16966#msg16966)

(http://img593.imageshack.us/img593/3223/workspace.png)
Titolo: Re: Accedere ad oggetto in un form in una workspace
Inserito da: md9327 - 15 Novembre 2010, 14:32:01
1) usare metodi della classe Object
2) determinare figli di una classe tramite la proprietà Children()
Titolo: Re: Accedere ad oggetto in un form in una workspace
Inserito da: andy60 - 25 Novembre 2010, 07:42:00
1) usare metodi della classe Object
2) determinare figli di una classe tramite la proprietà Children()

caro mdxxxx anche io ho un'esigenza simile, devo caricare una form in un nuovo workspace cliccando un bottone del primo workspace caricato. A dire la verità dovrei passare anche un parametro..
Titolo: Re: Accedere ad oggetto in un form in una workspace
Inserito da: perseo - 25 Novembre 2010, 11:34:02
Andy, ti posto anche il codice che mi suggerì milio...
Dall'evento _click del pulsante "aggiungi" del primo Workspace (credo intendessi il primo Tab del Workspace) puoi scrivere questo codice:

Codice: vb.net [Seleziona]
Public Sub aggiungi_Click()
Dim Frm As FFormX
Dim parametro As tipo_di_parametro

  Frm = New FFormX(parametro) As "Frm"
  Frm.Name = "miaForm"
  Frm.Title = "miaForm"
  FMain.Workspace1.Add(Frm)

End
Titolo: Re: Accedere ad oggetto in un form in una workspace
Inserito da: andy60 - 25 Novembre 2010, 21:33:12
@perseo

grazie, domani lo provo subito!! :2birre:
Titolo: Re: Accedere ad oggetto in un form in una workspace
Inserito da: andy60 - 26 Novembre 2010, 07:36:10
il codice:

 
Codice: [Seleziona]
DIM Frm AS FWeb  
  'DIM parametro AS Integer
  Frm = NEW FWeb AS "Frm"
  Frm.Name = "miaForm"  
  Frm.Title = "miaForm"  
  FMain.Workspace1.Add(Frm)  

mi da' l'errore:
unknown symbol workspace in class FMain
Titolo: Re: Accedere ad oggetto in un form in una workspace
Inserito da: perseo - 26 Novembre 2010, 11:35:15
Andy,
scusami ma vado di frettissima. Oggi pomeriggio ti posto il codice di esempio...
Titolo: Re: Accedere ad oggetto in un form in una workspace
Inserito da: andy60 - 26 Novembre 2010, 12:08:01
okkkei :P
Titolo: Re: Accedere ad oggetto in un form in una workspace
Inserito da: Ceskho - 26 Novembre 2010, 13:53:07
il codice:

 
Codice: [Seleziona]
DIM Frm AS FWeb  
  'DIM parametro AS Integer
  Frm = NEW FWeb AS "Frm"
  Frm.Name = "miaForm"  
  Frm.Title = "miaForm"  
  FMain.Workspace1.Add(Frm)  

mi da' l'errore:
unknown symbol workspace in class FMain

Il tuo workspace del form si chiama Workspace1?
Titolo: Re: Accedere ad oggetto in un form in una workspace
Inserito da: perseo - 26 Novembre 2010, 15:55:25
Ecco un codice di esempio... milio docet!  ;)
All'inizio può apparire un meccanismo complicato, ma poi quando ci prendi la mano ci vogliono 5 minuti a realizzare dei bei lavori.

Se in seguito hai dei dubbi postali (che fanno bene a tutti), ma rileggi attentamente anche la discussione "Form MDI"... milio, fsurfing ed MD spiegano molto bene come gestire il tutto.  :ok:

In bocca al lupo!  :2birre:
Titolo: Re: Accedere ad oggetto in un form in una workspace
Inserito da: milio - 26 Novembre 2010, 16:13:51
il codice:

 
Codice: [Seleziona]
DIM Frm AS FWeb  
  'DIM parametro AS Integer
  Frm = NEW FWeb AS "Frm"
  Frm.Name = "miaForm"  
  Frm.Title = "miaForm"  
  FMain.Workspace1.Add(Frm)  

mi da' l'errore:
unknown symbol workspace in class FMain

Hai abilitato Progetto --> Proprietà --> Opzioni --> 'I controlli del form sono public' ?
Titolo: Re: Accedere ad oggetto in un form in una workspace
Inserito da: andy60 - 27 Novembre 2010, 08:48:24
@milio

no, infatti adesso va...grazie a entrambi! il problema è che non passo il parametro, nella maniera in cui avete scritto
Titolo: Re: Accedere ad oggetto in un form in una workspace
Inserito da: andy60 - 28 Novembre 2010, 17:17:47
clieccado un bottone in un workspace riescco ad aprire un altro waorkspace, ma non riesco a passare parametri :hard:
Titolo: Re: Accedere ad oggetto in un form in una workspace
Inserito da: perseo - 28 Novembre 2010, 18:06:04
Posta il codice... e specifica il parametro che vuoi passare... Magari si riesce a trovare la soluzione.
Titolo: Re: Accedere ad oggetto in un form in una workspace
Inserito da: andy60 - 28 Novembre 2010, 19:02:50
questo senza parametri funziona (da dentro un workspace):

Codice: [Seleziona]
PUBLIC SUB btCaricaMappa_Click()

  DIM Frm AS FWeb  
  Frm = NEW FWeb AS "Frm"
  Frm.Name = "Mappa"  
  Frm.Title = "Mappa"  
  FMain.Workspace1.Add(Frm)
    
END

questo no:

Codice: [Seleziona]
DIM Frm AS FWeb  
  DIM p AS NEW Integer[]
  p.Add(1)
  Frm = NEW FWeb(p) AS "Frm"
  Frm.Name = "Mappa"  
  Frm.Title = "Mappa"  
  FMain.Workspace1.Add(Frm)  
END


type mismatch: wanted control , got integer[]
Titolo: Re: Accedere ad oggetto in un form in una workspace
Inserito da: Ceskho - 29 Novembre 2010, 00:45:39
clieccado un bottone in un workspace riescco ad aprire un altro waorkspace, ma non riesco a passare parametri :hard:

I parametri non devi passarli al workspace ma al form che crei che successivamente aggiungi al workspace...
Titolo: Re: Accedere ad oggetto in un form in una workspace
Inserito da: perseo - 29 Novembre 2010, 02:39:18
Io l'ho provato e mi funziona...

Sicuro che nel _new di FWeb hai specificato come parametro un Integer[]?

Codice: vb [Seleziona]
' Gambas class file

Public Sub _new(id As Integer[]) 'questo è il costruttore di FWeb
  Print id[0]
End


Io l'ho provata e funziona...
Titolo: Re: Accedere ad oggetto in un form in una workspace
Inserito da: andy60 - 29 Novembre 2010, 07:56:42
se lo sapevo...gia' avevo uplodato l'applicazione!! grazie!!!! funge!!!


nel workspace chiamante

Codice: [Seleziona]
PUBLIC SUB btCaricaMappa_Click()

  DIM Frm AS FWeb 
  DIM p AS NEW Integer[]
  p.Add(1)
  Frm = NEW FWeb(p) AS "Frm"
  Frm.Name = "Mappa" 
  Frm.Title = "Mappa" 
  FMain.Workspace1.Add(Frm)   
END


nel workspace chiamato:

Codice: [Seleziona]
PUBLIC SUB _new(id AS Integer[])
txtUrl.Text = id[0]
 
 
END
Titolo: Re: Accedere ad oggetto in un form in una workspace
Inserito da: perseo - 29 Novembre 2010, 08:50:17
Ottimo! :ok: