Page 1 sur 1

Global ou Shared, ou autre chose ?

Publié : jeu. 05/nov./2009 10:23
par cirederff
Bonjour.

Quand je compile ça

Code : Tout sélectionner

Dim demarrage.c (12)
 Dim tableautempon.c (12)
 
Procedure truc()
Shared demarrage() 
 	For k = 0 To 11
		string = StringGadget(#PB_Any, k*50+200, 300,50,25,"",#PB_String_Numeric)
		demarrage(k) = string
	Next
EndProcedure


		For lingne = 0 To 11	
		SetGadgetText( demarrage (lingne),StrU(tableautempon (lingne+2), #PB_Byte))
		Next
Ça me marque que le gadget n'est pas initialisé.
Le numéro du gadget est dans le tableau mais je n'y ai pas accès , ça vient d'où à votre avis

Re: Global ou Shared, ou autre chose ?

Publié : jeu. 05/nov./2009 12:31
par foossile
Sans etre expert, je trouve bizarre que tu n'appelle nul part ta procedure truc.

Re: Global ou Shared, ou autre chose ?

Publié : jeu. 05/nov./2009 12:58
par cirederff
Oui, j'ai oublié de préciser que ma procédure se trouve dans une fenêtre

Code : Tout sélectionner

Dim demarrage.c (12)
Dim tableautempon.c (12)

Procedure truc()
          ;OpenWindow(#fenetre_reglage ,0,0,1200 ,800 ,"REGLAGE" ,#PB_Window_ScreenCentered) 
Shared demarrage()
   For k = 0 To 11
      string = StringGadget(#PB_Any, k*50+200, 300,50,25,"",#PB_String_Numeric)
      demarrage(k) = string
   Next
EndProcedure


        ;OpenWindow(#fenetre_principal ,0,0,1200 ,800 ,"REGLAGE" ,#PB_Window_ScreenCentered) 

      For lingne = 0 To 11   
      SetGadgetText( demarrage (lingne),StrU(tableautempon (lingne+2), #PB_Byte))
      Next

Re: Global ou Shared, ou autre chose ?

Publié : jeu. 05/nov./2009 13:38
par Cls
cirederff a écrit :Oui, j'ai oublié de préciser que ma procédure se trouve dans une fenêtre
:?: Pas compris...

Appelles - tu quelque part ta procédure truc() ?

Re: Global ou Shared, ou autre chose ?

Publié : jeu. 05/nov./2009 14:17
par cirederff
Appelles - tu quelque part ta procédure truc() ?

Non justement, mais cette procedure ouvre une nouvelle fenêtre fille et il y a un tableau qui me sert à stocker les ID d'une liste de StringGadget .

Mon problème est que je veux modifier son contenu avec un SetGadgetText à partir de la fenêtre mère

Re: Global ou Shared, ou autre chose ?

Publié : jeu. 05/nov./2009 16:04
par Cls
A partir d'une fenêtre mère, tu veux modifier les gadgets d'une fenêtre fille qui n'est pas encore ouverte ... ?

Il faut ouvrir la fenêtre fille avant toute opération sur celle - ci. Une fois ouverte tu peux faire un HideWindow() qui masquera visuellement cette fenêtre mais tu pourras travailler dessus quand même.

Re: Global ou Shared, ou autre chose ?

Publié : dim. 08/nov./2009 11:33
par Octavius
Les procédures ne peuvent pas être "dans" des fenêtres, ça ne veut rien dire.
Tu n'as rien stocké dans ton tableau parce que tu n'as pas appelé la procédure.

Re: Global ou Shared, ou autre chose ?

Publié : dim. 08/nov./2009 15:29
par Le Soldat Inconnu
et ton tableau doit être global

Code : Tout sélectionner

Global Dim Tableau()