Forum Liberty Basic France

Débutant » Les fenêtres et le debug Comment faire ...
Le 24/02/2014 à 20h40

Libertynaute Actif

Groupe: Membre

Inscrit le: 04/12/2012
Messages: 139
Salut à tous ...
Bientôt, j'aurai les doigts usés jusqu'au coude ... Mais ça vaut la peine !
Bon, passons !
J'ai un problème, et je ne pense pas être le seul !
Dans un programme, avec des écrans, des tables, des je ne sais quoi, est-il possible de mettre un point d'arrêt pour reprendre le programme en pas-à-pas ? C'est à dire, prendre le debug à partir d'une adresse ou d'une étiquette ?
Qui a une idée ou une solution ?
Merci de vous pencher sur d'aussi humble tâches !
Cordialement
à tous
Horace
____________________
The Basic and I

Mail Web    
Le 24/02/2014 à 22h16

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2083
Sans voir le code, difficile de dire.
Perso quand j'ai problème, je mets un wait, un ou des textbox "espion(s)", pour voir ce que branlent les variables pendant que j'ai le dos tourné.
Le débug, c'est bien mais dans certains cas c'est pas bon (remplissage de tableaux interminables et autres).
Ce que tu peux faire, c'est de mettre un wait là où tu veux que ça s'arrête, et un bouton provisoire pour redémarrer genre:
button #w.go, "Go", 10,10, 40, 20
......
wait
[Go]
........
Et mettre le débug en mode "exécution". Il va s'arrêter sur le wait, tu pourra lire les variables, et redémarrer avec le bouton.
Quand la bête récalcitre, il faut ruser. ;)
____________________
Roro

   
Le 25/02/2014 à 01h59

Administrateur

Groupe: Administrateur

Inscrit le: 25/09/2010
Messages: 361
Je dis peut-être une bêtise, mais je ne crois pas que JB permette de mettre des Breackpoint comme la plupart des autres langages (><;)
Perso, j'utilise la méthode de Roro, des print &co. un peu partout dans le programme pour 'voir' ce qu'il fait.

Jag
____________________
J'ai toujours raison ! Sauf quand j'ai tort ...

Web    
Le 25/02/2014 à 20h56

Libertynaute Actif

Groupe: Membre

Inscrit le: 04/12/2012
Messages: 139
Salut à tous,
Merci de vos réponses.
Je vois que je n'ai rien inventé !
J'utilise aussi la maniwin pour me faire afficher le contenu de certaines variables, mais au contraire de Roland, je ne cée pas de boutons, mais des "input k$" par ci par là, directement dans la maniwin. Quitte à mettre un petit commentaire avant, pour savoir où on est ! Ca marche aussi !
Tant pis pour les breakpoints, pourtant bien pratiques !
L'affaire suit son cours !
Horace
____________________
The Basic and I

Mail Web    
Le 25/02/2014 à 21h45

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2083
Citation:
Tant pis pour les breakpoints, pourtant bien pratiques !

Ah ben toi alors! je t'en ai fait un sur mesure ! C'est mon bouton qui te plaît pas ? :d :D
____________________
Roro

   
Le 26/02/2014 à 02h40

Administrateur

Groupe: Administrateur

Inscrit le: 25/09/2010
Messages: 361
?
____________________
J'ai toujours raison ! Sauf quand j'ai tort ...

Web    
Le 26/02/2014 à 10h42

Administrateur

Groupe: Administrateur

Inscrit le: 25/09/2010
Messages: 361
J'ai compris ! :D
Oui, je suis long à la détente :p

Jag
____________________
J'ai toujours raison ! Sauf quand j'ai tort ...

Web    
Le 26/02/2014 à 11h19

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2083
Citation:
Oui, je suis long à la détente :p

C'est l'excès de Java ! (pas le langage :D )
____________________
Roro

   
Le 27/02/2014 à 21h19

Libertynaute Actif

Groupe: Membre

Inscrit le: 04/12/2012
Messages: 139
Encore merci à vous deux !
Et une petite question piège !
Est-il possible de changer la couler de fonds dans un textbox ?
Dès qu'on a des idées ... Bonnes ou mauvaises ! On n'arrête pas le progrès !
Horazio
____________________
The Basic and I

Mail Web    
Le 27/02/2014 à 22h01

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2083
Mais bien sûr, pour ça, tu a:
TextboxColor$= "red"
ComboboxColor$= "blue"
ListboxColor$="255 123 234" 'couleurs en RGB
TexteditorColor$= the_couleur$ 'avec the_couleur$="darkblue" par exemple.
Tu a aussi :
BackgroundColor$ et ForegroundColor$ Pour toute la fenestre.
Note: Que ces instructions doivent êtres PLACEES AVANT L'OPEN fenestre
Et que avec BackgroundColor$ et ForegroundColor$ on a parfois des surpriiiiises ! :heink :|
____________________
Roro

   
Le 28/02/2014 à 09h20

Libertynaute Actif

Groupe: Membre

Inscrit le: 04/12/2012
Messages: 139
Bon, je ne sais pas lire !
Merci de votre paresseux
Horace
____________________
The Basic and I

Mail Web    
Le 28/02/2014 à 11h25

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2083
Prends donc mon aide Gogolisée:
http://libertybasic.fr/forum/topic-125+l-aide-traduite-anglais-google-francais.php
Elle offre l'avantage d'une organisation beaucoup plus conviviale, pour ne pas dire énormément plus claire.
Teste la au moins... noun dé Diou! :p
____________________
Roro

   
Le 28/02/2014 à 17h35

Libertynaute Actif

Groupe: Membre

Inscrit le: 04/12/2012
Messages: 139
Bonjour Roland,
Unzio, je suis vraiment nul, la doc en français est suffisement explicite ! Et celle du site US est tout à fait compréhensible, même si je ne suis pas Sheakespire !
Deuzio, je te remercie de ta bibliothèque d'aide, qui me semble, pour le peu que j'ai regardé, un "petit" trésor !
Dont je vais me servir !
Mais tu sais comment ça marche, on compte toujours sur les autres pour vous éclairer, par paresse ou tout autres raisons plus ou moins avouables !
Alors, Merci
H.
____________________
The Basic and I

Mail Web    
Le 28/02/2014 à 17h44

Libertynaute Actif

Groupe: Membre

Inscrit le: 04/12/2012
Messages: 139
Je vais être un peu occupé ce week-end, mais si j'ai le temps, je vous mettrai un petit programme facétieux en ligne la semaine prochaine !
H.
____________________
The Basic and I

Mail Web    
Le 28/02/2014 à 20h46

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2083
Citation:
on compte toujours sur les autres pour vous éclairer

C'est ce que je fait toujours aussi, puisqu'un qui sait vaut mieux que cent qui cherchent. ;)
____________________
Roro

   
Le 10/03/2014 à 10h27

Administrateur

Groupe: Administrateur

Inscrit le: 24/09/2010
Messages: 238
Quand tu double cliques dans LB sur le côté d'une ligne de code à droite en dehors de la textbox tu peux faire apparaître des breakpoints (si c'est bien ce que je crois). Pour faire le débug, plutôt que de faire le bouton lecture, clique sur les autre boutons à coté avec des flèches bizarres, le mode pas à pas est dans un de ceux là ;)
____________________

MSN Yahoo Web    
Le 10/03/2014 à 15h05

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2083
Ah ben ouais ! Ils y sont les breackpoints.
Horace, dans l'aide gogolisée au chapitre "Using the débuggeur" de l'Amber, tout en bas.
____________________
Roro

   
Le 12/03/2014 à 12h12

Libertynaute Actif

Groupe: Membre

Inscrit le: 04/12/2012
Messages: 139
Merci Nephthys, merci Roland,
Bien sûr, ça fonctionne !
Même drôlement bien !
Cordialement
H.
____________________
The Basic and I

Mail Web    
Le 13/03/2014 à 15h58

Libertynaute Actif

Groupe: Membre

Inscrit le: 04/12/2012
Messages: 139
Bin, ya toujours quelque chose qui foire !
j'ai essayé le debug, et ça marche comme je le veux ! Je reprenda la main en debug à l'endroit où j'ai placé mon curseur.
Mais si je lance mon application sans le debug, j'obtiens ça, avant même d'avoir un quelconque affichage :

Code TEXT :
 
Error log timestamp Thursday 13.03.14 15:45:12
 
Runtime error: La classe existe déjà. ( OS error 16r582 )
 
Error(Exception)>>defaultAction
Error(Exception)>>activateHandler: <anUndefinedObject> 
Error(Exception)>>handle
Error(Exception)>>signal
Error class(Exception class)>>signal: <'La classe existe déj...'> 
TimerTopPane(Object)>>osError: <1410> 
TimerTopPane(Object)>>osError
TimerTopPane(ApplicationWindow)>>windowClass
TimerTopPane(ApplicationWindow)>>buildWindow
TimerTopPane(ApplicationWindow)>>validateBuild
TimerTopPane>>validate
[] in ApplicationWindow>>openIn:
ProtectedFrameMarker(BlockClosure)>>setUnwind: <aBlockClosure> 
BlockClosure>>ifCurtailed: <aBlockClosure> 
TimerTopPane(ApplicationWindow)>>openIn: <aRectangle> 
TimerTopPane(ApplicationWindow)>>openWindow
[] in ViewManager>>openWindow
OrderedCollection>>do: <aBlockClosure> 
TimerWindow(ViewManager)>>openWindow
TimerWindow>>open
BasicProgram>>openTimerWindow
BasicProgram>>run
[] in BasicSourcePane>>run
BasicCompiler class>>compileFromString: <''' Enigma application...'> notify: <aBasicSourcePane> ifSuccess: <aBlockClosure> 
BasicSourcePane>>run
BasicSourceWindow>>run
BasicEditorModel>>run: <aToolbarButton> 
BasicEditorModel(Object)>>perform: <#run:> with: <aToolbarButton> 
ToolbarButton>>triggerClickedEvent
Message>>perform
NotificationManager>>runPendingEvents
NotificationManager>>runEventLoop
Message>>perform
Message>>evaluate
Process>>safelyEvaluate: <aMessage> 
Process>>evaluate: <aMessage> 
 


Plus explicite que ça comme message d'erreur, je vous jure que ça existe !
Quelqu'un aurait-il une explication ?

Code TEXT :
 
Runtime error: La classe existe déjà. ( OS error 16r582 )
 


Moi, je veux bien, mais quelle classe ? Et où ?
Merci de me dépanner, si c'est possible !
Cordialement
H.
____________________
The Basic and I

Mail Web    
Le 13/03/2014 à 16h58

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2083
Et quézaquo ???? :heink
C'est pas du code LB ce machin. :s
Si tu_ veux qu'on y comprenne quelque chose, il faudrait poster ton code. Lol ! :(
Si tu bosse pour la NASA, et que c'est top sicrète, tu peux toujours me le passer en Mp.
____________________
Roro

   
Débutant » Les fenêtres et le debug Comment faire ...  

 |  |

1 Utilisateur en ligne : 0 Administrateur, 0 Modérateur, 0 Membre et 1 Visiteur
Utilisateur en ligne : Aucun membre connecté
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie