PureBasic

Forums PureBasic
Nous sommes le Ven 06/Déc/2019 21:11

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 10 messages ] 
Auteur Message
 Sujet du message: [RESOLU] Constante déjà déclarée
MessagePosté: Lun 17/Mai/2010 19:36 
Hors ligne
Avatar de l’utilisateur

Inscription: Jeu 29/Juil/2004 16:33
Messages: 2801
Localisation: Klyntar
Bonjour,

sa doit être mon 1er post ici :)
voilà sa fait un moment que j'ai ça mais la sa deviens chiant :

je ne serais pas dire depuis quand mais depuis un moment quand je lance des ancien code avec purebasic genre sa :

Code:
;- Window Constants
Enumeration
  #Window_0
EndEnumeration

;- Gadget Constants
Enumeration
  #Frame3D_0
  #Text_0
  #String_0
  #Button_0
  #Text_1
  #String_1
EndEnumeration

If OpenWindow(#Window_0, 0, 0, 270, 130, "Méga to Octet", #PB_Window_SystemMenu | #PB_Window_TitleBar | #PB_Window_ScreenCentered )
  SetWindowColor(#Window_0, RGB($33, $00, $99))
  If CreateGadgetList(WindowID(#Window_0))
    Frame3DGadget(#Frame3D_0, 10, 5, 250, 115, "")
   
    TextGadget(#Text_0, 20, 30, 75, 20, "chiffre en MO :")
    SetGadgetColor(#Text_0, #PB_Gadget_BackColor, RGB($33, $00, $99))
    SetGadgetColor(#Text_0, #PB_Gadget_FrontColor, RGB(255, 255, 255))
   
    StringGadget(#String_0, 100, 25, 150, 20, "", #PB_String_Numeric)
    SetGadgetColor(#String_0, #PB_Gadget_BackColor, RGB($33, $00, $99))
    SetGadgetColor(#String_0, #PB_Gadget_FrontColor, RGB(255, 255, 255))
   
    ButtonGadget(#Button_0, 20, 55, 230, 20, "calcul")
   
    TextGadget(#Text_1, 20, 85, 75, 20, "resultat en KO :")
    SetGadgetColor(#Text_1, #PB_Gadget_BackColor, RGB($33, $00, $99))
    SetGadgetColor(#Text_1, #PB_Gadget_FrontColor, RGB(255, 255, 255))
   
    StringGadget(#String_1, 100, 80, 150, 20, "", #PB_String_ReadOnly)
    SetGadgetColor(#String_1, #PB_Gadget_BackColor, RGB($33, $00, $99))
    SetGadgetColor(#String_1, #PB_Gadget_FrontColor, RGB(255, 255, 255))
   
  EndIf
EndIf

Repeat
  EventID = WaitWindowEvent()
  If EventID = #PB_Event_Gadget
    Select EventGadget()
       
      Case #Button_0
        TexteMO$ = GetGadgetText(#String_0) ; <--- on renvoie le nombre écrit dans le string_0 ( le chiffre en MO )
        resultat = Val(TexteMO$) * 1024 ; <--- on multiplie le 1er chiffre par 1024
        SetGadgetText(#String_1, Str(resultat)) ; <--- on renvoie le résultat total au string_1
       
    EndSelect
  EndIf
Until EventID = #PB_Event_CloseWindow


rien de bien méchant et bien PureBasic me renvoie une erreur dans l'énumération au début sur #String_0 il me renvoie :
Constante déjà déclarée avec une autre valeur: #String_0 8O

Donc au début je me suis amusé a changer certain ID genre : #String_00 mais a force c'est chiant :?
ceci viens de moi ou pas ?

ps: j'ai windows 7 et PureBasic 4.41 le tout en x64

Mais cela ne m'arrive pas sur tout les codes 8O j'ai du mal a comprendre en faite.
Si ça vous est déjà arrivez :wink:





@++

_________________
Windows 10 x64, PureBasic 5.71 Beta 1 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz


Dernière édition par venom le Mar 18/Mai/2010 5:45, édité 1 fois.

Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Constante déjà déclarée
MessagePosté: Lun 17/Mai/2010 19:43 
Hors ligne
Avatar de l’utilisateur

Inscription: Mer 09/Nov/2005 9:53
Messages: 4067
Moi, sous XP pro, je n'ai pas de bug. Je vois ta jolie fenetre bleue de demander de convertir un chiffre Mo to Octets :wink:

_________________
http://HexaScrabble.com/
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Portable LENOVO ideapad 110-17ACL 64 bits
Version de PB : 5.70LTS - 32 bits


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Constante déjà déclarée
MessagePosté: Lun 17/Mai/2010 20:35 
Hors ligne

Inscription: Lun 26/Avr/2004 0:40
Messages: 14535
ce n'est pas un bug !!

il s'agit la plupart du temps d'une constante ayant le meme nom
déclaré dans une librairie utilisateur !

désactive tes lib une par une , tu connaitra la coupable ! ;)

ps : chez moi ton code fonctionne parfaitement (meme sous Linux)


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Constante déjà déclarée
MessagePosté: Lun 17/Mai/2010 21:49 
Hors ligne

Inscription: Dim 10/Jan/2010 5:29
Messages: 3426
c'est clair que c'est chiant...
une solution consiste a ne plus utilisé de constante pour les gadgets :

Code:
StringGadget(#String_0, 100, 25, 150, 20, "", #PB_String_Numeric)


par

Code:
Global gad_String.i = StringGadget(#pb_any, 100, 25, 150, 20, "", #PB_String_Numeric)


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Constante déjà déclarée
MessagePosté: Lun 17/Mai/2010 22:09 
Hors ligne
Avatar de l’utilisateur

Inscription: Jeu 29/Juil/2004 16:33
Messages: 2801
Localisation: Klyntar
@Dobro

pour ce qui est des lib's je n'en ai aucune dans PureBasic car les 3/4 incompatible x64 :wink: mais en effet ça aurais pu venir de là.


@G-Rom

Merci pour l'exemple mais sa fait depuis juillet 2004 que je code en PureBasic ( façon c'est le seul pour moi :) ) va falloir que j'enleve cette habitude alors :? dut dur :) .
mais comment ont sais avec ta ligne quel gadget porte quel ID ?

ta pas juste un code bidon avec 2 3 gadget histoire que je comprenne le truck stp ?
Merci.

je viens de voir une chose si je vire tout mes énumération au début du code pas de problème cela se lance niquel bizarre non ? 8O ou purebasic ne fonctionne plus comme avant ?

car avant si un gadget n'était pas référencer dans l'énumération PureBasic n'etait pas content :lol: la il dit rien :D
donc en gros je vire tous mes énumération et hop c'est partie.

mon code du départ deviens ce-ci :


Code:
;- Window Constants 
If OpenWindow(#Window_0, 0, 0, 270, 130, "Méga to Octet", #PB_Window_SystemMenu | #PB_Window_TitleBar | #PB_Window_ScreenCentered ) 
SetWindowColor(#Window_0, RGB($33, $00, $99)) 

Frame3DGadget(#Frame3D_0, 10, 5, 250, 115, "") 
   
TextGadget(#Text_0, 20, 30, 75, 20, "chiffre en MO :") 
SetGadgetColor(#Text_0, #PB_Gadget_BackColor, RGB($33, $00, $99)) 
SetGadgetColor(#Text_0, #PB_Gadget_FrontColor, RGB(255, 255, 255)) 
   
StringGadget(#String_0, 100, 25, 150, 20, "", #PB_String_Numeric) 
SetGadgetColor(#String_0, #PB_Gadget_BackColor, RGB($33, $00, $99)) 
SetGadgetColor(#String_0, #PB_Gadget_FrontColor, RGB(255, 255, 255)) 
   
ButtonGadget(#Button_0, 20, 55, 230, 20, "calcul") 
   
TextGadget(#Text_1, 20, 85, 75, 20, "resultat en KO :") 
SetGadgetColor(#Text_1, #PB_Gadget_BackColor, RGB($33, $00, $99)) 
SetGadgetColor(#Text_1, #PB_Gadget_FrontColor, RGB(255, 255, 255)) 
   
StringGadget(#String_1, 100, 80, 150, 20, "", #PB_String_ReadOnly) 
SetGadgetColor(#String_1, #PB_Gadget_BackColor, RGB($33, $00, $99)) 
SetGadgetColor(#String_1, #PB_Gadget_FrontColor, RGB(255, 255, 255)) 

EndIf 
Repeat 
EventID = WaitWindowEvent() 
If EventID = #PB_Event_Gadget 
Select EventGadget() 
   
  Case #Button_0 
  TexteMO$ = GetGadgetText(#String_0) ; <--- on renvoie le nombre écrit dans le string_0 ( le chiffre en MO ) 
  resultat = Val(TexteMO$) * 1024 ; <--- on multiplie le 1er chiffre par 1024 
  SetGadgetText(#String_1, Str(resultat)) ; <--- on renvoie le résultat total au string_1 
   
EndSelect 
EndIf 
Until EventID = #PB_Event_CloseWindow

et la impec

@++

_________________
Windows 10 x64, PureBasic 5.71 Beta 1 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Constante déjà déclarée
MessagePosté: Lun 17/Mai/2010 23:35 
Hors ligne
Avatar de l’utilisateur

Inscription: Lun 10/Sep/2007 11:13
Messages: 1327
ben en fait vu que tes constantes sont deja définie il utilise la ocnstante deja defini comme numero... tu me suis ?

par contre et la ca craint vu que tu ne donne aucune valeur a aucune de tes constantes si certaines ne sont pas définies elles vont avoir la même valeur: 0

et ca vas mettre le souk, la ca vas il n'y a pas énormément de gadgets donc ca peux passer...

le plus simple est encore de coder comme cela comme te l'explique G-rom en global ou pas si le gadget est dans une procédure par exemple...

Code:

Text_0=TextGadget(#pb_any, 20, 30, 75, 20, "chiffre en MO :") 

SetGadgetColor(Text_0, #PB_Gadget_BackColor, RGB($33, $00, $99))
SetGadgetColor(Text_0, #PB_Gadget_FrontColor, RGB(255, 255, 255))


_________________
ImageImage


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Constante déjà déclarée
MessagePosté: Lun 17/Mai/2010 23:36 
Hors ligne

Inscription: Lun 26/Avr/2004 0:40
Messages: 14535
non ! c'est pas normal comme comportement !
ça prouve que tes constantes sont deja déclarées quelque part :)


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Constante déjà déclarée
MessagePosté: Mar 18/Mai/2010 3:31 
Hors ligne
Avatar de l’utilisateur

Inscription: Ven 08/Jan/2010 1:14
Messages: 808
Localisation: Québec, Canada
Constantes utilisateurs?


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Constante déjà déclarée
MessagePosté: Mar 18/Mai/2010 5:37 
Hors ligne
Avatar de l’utilisateur

Inscription: Jeu 29/Juil/2004 16:33
Messages: 2801
Localisation: Klyntar
@case
oui je te suis :)
Donc le mieux serai de coder comme ma dit G-Rom et ton exemple. ok je vais devoir m'habituer ainsi alors.

@Dobro
Oui comme dit case il se sert de constante je ne sais trop ou pour fonctionné. Mais c'est sa le hic je ne sais pas ou :)
Je vais tenté une réinstall complet de PureBasic ont verra bien.

@Warkering
Tu peut développer un peut :D


EDIT:
J'ai effacer toute trace de PureBasic et j'ai fait une nouvelle installation tout est rentrée dans l'ordre.
Faux rapport de bug donc :oops: :D



@++

_________________
Windows 10 x64, PureBasic 5.71 Beta 1 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: [RESOLU] Constante déjà déclarée
MessagePosté: Mar 18/Mai/2010 9:04 
Hors ligne
Avatar de l’utilisateur

Inscription: Mer 28/Jan/2004 20:58
Messages: 4312
Localisation: Clermont ferrand OU Olsztyn
Donc un reste dans un resident ou une userlibrairie

Remarque pour les créateur de userlib : Pour éviter ce souci, une UserLibrairie doit toujours utiliser les #PB_any et jamais de constante

_________________
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 10 messages ] 

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages

Rechercher:
Aller à:  

 


Powered by phpBB © 2008 phpBB Group | Traduction par: phpBB-fr.com
subSilver+ theme by Canver Software, sponsor Sanal Modifiye