bug ?

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Mesa
Messages : 1126
Inscription : mer. 14/sept./2011 16:59

bug ?

Message par Mesa »

Est-ce que ce code fonctionne chez vous ?

Code : Tout sélectionner

#Dialog = 0
  #Xml = 0
  
  XML$ = "<window id='#PB_Any' name='test' text='test' minwidth='auto' minheight='auto' flags='#PB_Window_ScreenCentered | #PB_Window_SystemMenu  | #PB_Window_SizeGadget'>" +
         "  <panel>" +
         "    <tab text='Premier Onglet'>"  +
         "      <vbox expand='item:2'>" +
         "        <hbox>" +
         "          <button text='Bouton 1'/>" +
         "          <checkbox text='Case à cocher 1'/>" +
         "          <button text='Bouton 2'/>" +
         "        </hbox>" +
         "        <editor text='Contenu...' height='150'/>" +
         "      </vbox>" +
         "    </tab>" +
         "    <tab text='Second Onglet'>" +
         "    </tab>" +
         "  </panel>" +
         "</window>"
  
  If CatchXML(#Xml, @XML$, StringByteLength(XML$)) And XMLStatus(#Xml) = #PB_XML_Success
    
    If CreateDialog(#Dialog) And OpenXMLDialog(#Dialog, #Xml, "test")
      
      Repeat
        Event = WaitWindowEvent()
      Until Event = #PB_Event_CloseWindow 
      
    Else  
      Debug "Erreur de la bibliothèque -Dialog- : " + DialogError(#Dialog)
    EndIf
  Else
    Debug "Erreur XML : " + XMLError(#Xml) + " (Ligne: " + XMLErrorLine(#Xml) + ")"
  EndIf

Merci .

Mesa.
Fred
Site Admin
Messages : 2809
Inscription : mer. 21/janv./2004 11:03

Re: bug ?

Message par Fred »

Ca marche en unicode mais pas en ascii car le caractere 'à' est invalide si tu ne specifie pas le type de XML.
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: bug ?

Message par G-Rom »

Linux X64:
Erreur XML : not well-formed (invalid token) (Ligne: 1)
@Fred , en unicode tjs sur le même os
Gtk(CRITICAL) : gtk_fixed_move_internal : assertion 'GTK_IS_FIXED(fixed)' failed

Sachant que je suis sous environement kde ( avec gtk en dev d'installé )

Faudrais que tu penses à t'affranchir de gtk , et passé à un plus haut niveau pour la gestion des fenêtres ( wxwidget , qt ? )
Dernière modification par G-Rom le mer. 04/sept./2013 10:52, modifié 1 fois.
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: bug ?

Message par Kwai chang caine »

Erreur XML : not well-formed (invalid token) (Ligne: 1)
Seven v5.20B16
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
Micoute
Messages : 2584
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: bug ?

Message par Micoute »

Bonjour Mesa, chez moi, ça fonctionne très bien !
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: bug ?

Message par G-Rom »

@Fred , wxwindow à l'air tout indiqué : http://opensource.org/licenses/wxwindows.php
La librairie windows sous pb serais enfin homogène et il n'y aurais plus de spécificité entre les différents os.
Fred
Site Admin
Messages : 2809
Inscription : mer. 21/janv./2004 11:03

Re: bug ?

Message par Fred »

G-Rom a écrit :Faudrais que tu penses à t'affranchir de gtk , et passé à un plus haut niveau pour la gestion des fenêtres ( wxwidget , qt ? )
GTK est au meme 'niveau' que QT et wxwidget.
Fred
Site Admin
Messages : 2809
Inscription : mer. 21/janv./2004 11:03

Re: bug ?

Message par Fred »

G-Rom a écrit :@Fred , wxwindow à l'air tout indiqué : http://opensource.org/licenses/wxwindows.php
La librairie windows sous pb serais enfin homogène et il n'y aurais plus de spécificité entre les différents os.
Sauf que t'as une DLL de 3 mb à te trimballer, et non c'est pas homogene, je l'ai deja utilisé et c'est bourré de petits trucs spécifiques ici et là.
Fred
Site Admin
Messages : 2809
Inscription : mer. 21/janv./2004 11:03

Re: bug ?

Message par Fred »

Voici un code qui devrait marcher dans les 2 modes:

Code : Tout sélectionner

#Dialog = 0
#Xml = 0

  CompilerIf #PB_Compiler_Unicode = 0 ; Ascii
    Encoding$ = "<?xml version='1.0' encoding='ISO-8859-1' ?>"
  CompilerEndIf  
 
  XML$ = Encoding$ +
         "<window id='#PB_Any' name='test' text='test' minwidth='auto' minheight='auto' flags='#PB_Window_ScreenCentered | #PB_Window_SystemMenu  | #PB_Window_SizeGadget'>" +
         "  <panel>" +
         "    <tab text='Premier Onglet'>"  +
         "      <vbox expand='item:2'>" +
         "        <hbox>" +
         "          <button text='Bouton 1'/>" +
         "          <checkbox text='Case à cocher 1'/>" +
         "          <button text='Bouton 2'/>" +
         "        </hbox>" +
         "        <editor text='Contenu...' height='150'/>" +
         "      </vbox>" +
         "    </tab>" +
         "    <tab text='Second Onglet'>" +
         "    </tab>" +
         "  </panel>" +
         "</window>"
 
  If CatchXML(#Xml, @XML$, StringByteLength(XML$)) And XMLStatus(#Xml) = #PB_XML_Success
   
    If CreateDialog(#Dialog) And OpenXMLDialog(#Dialog, #Xml, "test")
     
      Repeat
        Event = WaitWindowEvent()
      Until Event = #PB_Event_CloseWindow
     
    Else 
      Debug "Erreur de la bibliothèque -Dialog- : " + DialogError(#Dialog)
    EndIf
  Else
    Debug "Erreur XML : " + XMLError(#Xml) + " (Ligne: " + XMLErrorLine(#Xml) + ")"
  EndIf
Pour les exemples de la doc, il faut eviter les accents, ca evitera ce genre de problemes.
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: bug ?

Message par G-Rom »

GTK est au meme 'niveau' que QT et wxwidget.
Peu être, mais tu n'utilises pas GTK pour la partie Windows. d'ou la différence.
j'avais noté des différences il y a longtemps sur l'alignements des widgets à l’intérieur d'une fenêtre.
sur windows je pouvais faire des boutons plus fin , sous GTK , le texte était troncqué sur la hauteur.
sur kde , gtk n'est pas supporté , d'ou l'idée d'avoir une lib de plus haut niveau.
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: bug ?

Message par Kwai chang caine »

Dieu a écrit :Voici un code qui devrait marcher dans les 2 modes:
Pour info ça marche chez moi
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: bug ?

Message par G-Rom »

Sauf que t'as une DLL de 3 mb à te trimballer,
On peu compilé en statique les modules , donc c'est un faux problème.
Quand à l'homogénéité tu as surement raison , je ne l'ai jamais utilisé. QT alors ? :D
Fred
Site Admin
Messages : 2809
Inscription : mer. 21/janv./2004 11:03

Re: bug ?

Message par Fred »

QT c'est deja beaucoup mieux :). Mais pareil, exit les petits exe independant, la dll QT est encore plus massive. De plus, vu que ce n'est pas des gadgets natifs (Win32), tu ne peux plus bidouiller avec l'API.
Mesa
Messages : 1126
Inscription : mer. 14/sept./2011 16:59

Re: bug ?

Message par Mesa »

Pour les exemples de la doc, il faut eviter les accents, ca evitera ce genre de problemes.
Je comprends mais malheureusement, ce problème serait apparu rapidement dans le forum et de multiple fois... Vaut mieux le résoudre tout de suite. C'est aussi bien. :wink:

Mesa.
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: bug ?

Message par G-Rom »

QT c'est deja beaucoup mieux :). Mais pareil, exit les petits exe independant, la dll QT est encore plus massive. De plus, vu que ce n'est pas des gadgets natifs (Win32), tu ne peux plus bidouiller avec l'API.
Exit aussi la version statique, la licence ne te le permet pas. Pour en revenir au API de l'os , penses tu qu'avec une API très puissante l'utilisateur en ai besoin ?
Regarde les shoots de wxwidget : http://wxwidgets.org/about/screensh.htm , c'est impressionnant ce que l'on peu faire avec la lib.
si on veut faire la même chose en pb , alors effectivement , il faut jouer avec les API & exit le multiplateforme. le canvas règle pas mal de problèmes , mais pas tout.
Répondre