Rechercher
Résultats par :
Recherche avancée
Qui est en ligne ?
Il y a en tout 2 utilisateurs en ligne :: 0 Enregistré, 0 Invisible et 2 Invités

Aucun

Voir toute la liste


Partagez
Voir le sujet précédentAller en basVoir le sujet suivant
avatar
Site Admin
Messages : 1039
Date d'inscription : 2011-11-03
Voir le profil de l'utilisateur

RE: Problème de sauvegarde : ralentissement de l'atelier

le Tue 19 Feb - 9:44
J'ai une piste...
Je corrige et j'essaye de proposer rapidement une correction.
avatar
Site Admin
Messages : 1039
Date d'inscription : 2011-11-03
Voir le profil de l'utilisateur

RE: Problème de sauvegarde : ralentissement de l'atelier

le Wed 20 Feb - 10:35
J'ai déposé une version 2.1 alpha 3 :
http://langagelinotte.free.fr/wordpress/

Il faut également mettre à jour le greffon Image.

Peux-tu me dire si tu as moins de problèmes ?
Senior Member
Messages : 585
Date d'inscription : 2012-01-11
Voir le profil de l'utilisateur

RE: Problème de sauvegarde : ralentissement de l'atelier

le Wed 20 Feb - 14:11
Dsl, le problème est toujours là.

Le problème semble venir du l'utilisation de xtoile.
Si j'affiche mon quadrillage dans la toile et non dans le xtoile, je n'ai plus de problème.
avatar
Site Admin
Messages : 1039
Date d'inscription : 2011-11-03
Voir le profil de l'utilisateur

RE: Problème de sauvegarde : ralentissement de l'atelier

le Wed 20 Feb - 15:30
Wam a écrit:
Dsl, le problème est toujours là.

Le problème semble venir du l'utilisation de xtoile.
Si j'affiche mon quadrillage dans la toile et non dans le xtoile, je n'ai plus de problème.

Tu peux relancer ton programme sans soucis si tu utilises la toile ?
Senior Member
Messages : 585
Date d'inscription : 2012-01-11
Voir le profil de l'utilisateur

RE: Problème de sauvegarde : ralentissement de l'atelier

le Wed 20 Feb - 16:07
Oui ^^
avatar
Site Admin
Messages : 1039
Date d'inscription : 2011-11-03
Voir le profil de l'utilisateur

RE: Problème de sauvegarde : ralentissement de l'atelier

le Wed 20 Feb - 16:22
Tu as bien la version 0.91 du greffon image ?
Senior Member
Messages : 585
Date d'inscription : 2012-01-11
Voir le profil de l'utilisateur

RE: Problème de sauvegarde : ralentissement de l'atelier

le Wed 20 Feb - 17:46
Je l'ai mis à jour avec le manageur de greffon.
avatar
Site Admin
Messages : 1039
Date d'inscription : 2011-11-03
Voir le profil de l'utilisateur

RE: Problème de sauvegarde : ralentissement de l'atelier

le Thu 21 Feb - 12:00
Afin de trouver une piste, je vais te demander un procédure un peu plus longue mais qui me donnera plus d'informations.

1 - Installer le greffon Debug attaché au poste
2 - Lancer l'Atelier et activer l'audit (rien ne va s'afficher, c'est normal !)
3 - Lancer ce programme :
Code:

principale :

trace:
:
debug
début
évoque trace.
inspecter()
4 - Lancer 3 ou 4 fois ton programme qui fait planter l'Atelier.
5 - Relancer le programme donné précédemment.
6 - Quitter l'Atelier
7 - M'envoyer le fichier c:\temp\thread.txt par mail ou message privé sur le forum.
Merci !
Senior Member
Messages : 585
Date d'inscription : 2012-01-11
Voir le profil de l'utilisateur

RE: Problème de sauvegarde : ralentissement de l'atelier

le Thu 21 Feb - 15:38
J'ai installé le fichier Debug.zgl dans le fichier Program files/Linotte/Greffons et/ou dans le dossier .Linotte/Greffons :
dans tous les cas, lorsque je lance le programme :

[php]
principale :
trace::debug
début
évoque trace.inspecter()
[/php]

Ça m'indique "Erreur" sur le tableau.
avatar
Site Admin
Messages : 1039
Date d'inscription : 2011-11-03
Voir le profil de l'utilisateur

RE: Problème de sauvegarde : ralentissement de l'atelier

le Thu 21 Feb - 15:49
Si ça se trouve tu dois créer avant le répertoire c:\temp
Senior Member
Messages : 585
Date d'inscription : 2012-01-11
Voir le profil de l'utilisateur

RE: Problème de sauvegarde : ralentissement de l'atelier

le Thu 21 Feb - 16:17
C'était bien ça :;
):
C'est envoyé.
avatar
Site Admin
Messages : 1039
Date d'inscription : 2011-11-03
Voir le profil de l'utilisateur

RE: Problème de sauvegarde : ralentissement de l'atelier

le Thu 21 Feb - 16:19
Je vais regarder ça.
Par contre, je te conseille de supprimer le greffon car il risque de ralentir encore plus ton Atelier !
Senior Member
Messages : 585
Date d'inscription : 2012-01-11
Voir le profil de l'utilisateur

RE: Problème de sauvegarde : ralentissement de l'atelier

le Thu 21 Feb - 16:30
ok x)
avatar
Site Admin
Messages : 1039
Date d'inscription : 2011-11-03
Voir le profil de l'utilisateur

RE: Problème de sauvegarde : ralentissement de l'atelier

le Thu 21 Feb - 17:00
Je ne trouve pas de comportement étrange. Tu as eu les problèmes de ralentissement ?

Peux-tu essayer avec cette nouvelle version du greffon Debug ?

Les fuites de mémoire, c'est ce qu'il y a de plus dur à déboguer en programmation !

Merci !
Senior Member
Messages : 340
Date d'inscription : 2010-08-31
Voir le profil de l'utilisateurhttp://zamirhlinotte.monsite-orange.fr/

RE: Problème de sauvegarde : ralentissement de l'atelier

le Thu 21 Feb - 17:44
admincpc a écrit:

Les fuites de mémoire, c'est ce qu'il y a de plus dur à déboguer en programmation !


Pareil en médecine...
avatar
Site Admin
Messages : 1039
Date d'inscription : 2011-11-03
Voir le profil de l'utilisateur

RE: Problème de sauvegarde : ralentissement de l'atelier

le Thu 21 Feb - 17:53
Si je trouve la fuite mémoire, je change de métier pour la médecine !
Senior Member
Messages : 585
Date d'inscription : 2012-01-11
Voir le profil de l'utilisateur

RE: Problème de sauvegarde : ralentissement de l'atelier

le Thu 21 Feb - 18:44
J'ai bien le problème de fuite mémoire.
Néanmoins, je ne relance mon livre que 3 fois, le ralentissement étant tout de même bien visible.
Car si je le relance une 4ème fois, l'atelier va planter et je ne pourrais alors pas relancer ton programme.

(Lors de l'exécution de mon livre, j'affiche du texte sur le tableau : sa ne nuit pas à l'exécution de l'audit ou de ton programme ?)
Senior Member
Messages : 585
Date d'inscription : 2012-01-11
Voir le profil de l'utilisateur

RE: Problème de sauvegarde : ralentissement de l'atelier

le Thu 21 Feb - 21:39
J'ai découvert un nouveau bogue très bizarre dans mon programme.
Voici un extrait de mon code que vous pouvez exécuter :

[php]
globale
// Fenêtre principale
Fenêtre_principale :: formulaire, titre vaut "Editeur de cartes", hauteur vaut 800, largeur vaut 1400
popup :: popup

// Toile
fond :: toile, x vaut 0, y vaut 35, hauteur vaut 740, largeur vaut 1400, couleur vaut "blanc", pointeur vaut "flèche"
xtoile :: xtoile, x vaut 0, y vaut 35
bordure_gauche :: rectangle, x vaut 0, y vaut 0, position vaut 1, hauteur vaut hauteur de fond, largeur vaut 150, plein vaut "oui", couleur vaut "blanc"

// Menus
menu1 :: menu, texte vaut "Carte"
menu1s1 :: sousmenu, texte vaut "Nouveau quadrillage"
menu2 :: menu, texte vaut "Edition"
menu2s1 :: sousmenu, texte vaut "Activer/désactiver la grille"

// Barre d'outils
barre1 :: barre, hauteur vaut 40, largeur vaut largeur de Fenêtre_principale, x vaut 0, y vaut 5
bouton1 :: bouton, icône vaut "Icônes\table_borders_16x16.gif", texte vaut "", infobulle vaut "Activer/désactiver la grille"

// Fenêtre nouveau quadrillage
Fenêtre_nouveau_quadrillage :: formulaire, hauteur vaut 140, largeur vaut 300, titre vaut "Nouveau quadrillage", visible vaut "non", x vaut 450, y vaut 255
txt_Fnq1 :: étiquette, texte vaut "Nombre de cases en largeur :", x vaut 10, y vaut 12
txt_Fnq2 :: étiquette, texte vaut "Nombre de cases en hauteur :", x vaut 10, y vaut 32
txt_Fnq3 :: étiquette, texte vaut "Largeur des cases :", x vaut 10, y vaut 52
txt_Fnq4 :: étiquette, texte vaut "Hauteur des cases :", x vaut 10, y vaut 72
choix_case_largeur :: champ, x vaut 200, y vaut 10, taille vaut 3
choix_case_hauteur :: champ, x vaut 200, y vaut 30, taille vaut 3
choix_taille_largeur_case :: champ, x vaut 200, y vaut 50, taille vaut 3
choix_taille_hauteur_case :: champ, x vaut 200, y vaut 70, taille vaut 3
bouton_valider_Fnq :: bouton, texte vaut "Valider", x vaut 70, y vaut 110
bouton_annuler_Fnq :: bouton, texte vaut "Annuler", x vaut 160, y vaut 110

// Quadrillage
taille_largeur_case :: nombre
taille_hauteur_case :: nombre
nombre_case_largeur :: nombre
nombre_case_hauteur :: nombre
nombre_case_largeur_effectif :: nombre
nombre_case_hauteur_effectif :: nombre
nombre_case :: nombre
nombre_case_total :: nombre
copie_index_carte :: nombre

grille4 :: casier de rectangle
grille5 :: casier de rectangle

grille_off :: drapeau

Fenêtre_principale :
début
// Construction des fenêtres

Ajoute txt_Fnq1 & txt_Fnq2 & txt_Fnq3 & txt_Fnq4 & choix_case_largeur & choix_case_hauteur & choix_taille_largeur_case & choix_taille_hauteur_case & bouton_valider_Fnq & bouton_annuler_Fnq dans Fenêtre_nouveau_quadrillage
Fais réagir Fenêtre_nouveau_quadrillage à "clic souris" pour Fermer_fenêtre_nouveau_quadrillage
Fais réagir bouton_annuler_Fnq à "clic souris" pour Fermer_fenêtre_nouveau_quadrillage
Fais réagir bouton_valider_Fnq à "clic souris" pour Générer_quadrillage

// Début du programme

Ajoute xtoile dans Fenêtre_principale
visible de Fenêtre_principale vaut "oui"
Ajoute menu1 dans Fenêtre_principale
Ajoute menu1s1 dans menu1
Ajoute menu2 dans Fenêtre_principale
Ajoute menu2s1 dans menu2
Fais réagir Fenêtre_principale à "clic souris" pour Fermer_fenêtre_principale
Fais réagir menu1s1 à "clic souris" pour Fenêtre_nouveau_quadrillage
Fais réagir menu2s1 à "clic souris" pour Désactiver_grille

Ajoute barre1 dans Fenêtre_principale
Ajoute bouton1 dans barre1
Fais réagir bouton1 à "clic souris" pour Désactiver_grille

Tant que 1 != 2, lis
Temporise
ferme

Fermer_fenêtre_principale :
*f :: formulaire
début
Efface toile
Termine

Fenêtre_nouveau_quadrillage :
début
visible de Fenêtre_nouveau_quadrillage vaut "oui"
Reviens

Fermer_fenêtre_nouveau_quadrillage :
début
visible de Fenêtre_nouveau_quadrillage vaut "non"
Reviens

Générer_quadrillage :
valeur1 & valeur2 & valeur3 & valeur4 :: texte
début
Essaie lis
valeur1 = texte de choix_case_largeur
Convertis valeur1 en nombre_case_largeur
valeur2 = texte de choix_case_hauteur
Convertis valeur2 en nombre_case_hauteur
valeur3 = texte de choix_taille_largeur_case
Convertis valeur3 en taille_largeur_case
valeur4 = texte de choix_taille_hauteur_case
Convertis valeur4 en taille_hauteur_case

// on calcule le nombre de cases à afficher en fonction des dimensions de la fenêtre de scrolling
nombre_case_largeur_effectif = entier (largeur de fond / taille_largeur_case)
nombre_case_hauteur_effectif = entier (hauteur de fond / taille_hauteur_case)
Si nombre_case_largeur_effectif >
nombre_case_largeur, nombre_case_largeur_effectif = nombre_case_largeur
Si nombre_case_hauteur_effectif >
nombre_case_hauteur, nombre_case_hauteur_effectif = nombre_case_hauteur
nombre_case = nombre_case_hauteur_effectif*nombre_case_largeur_effectif
nombre_case_total = nombre_case_hauteur*nombre_case_largeur
ferme

// on vérifie que les données des champs sont valides
Si nombre_case_total == 0, évoque popup.message("Le nombre et/ou la taille des cases ne sont pas valides.")
Sinon lis
visible de Fenêtre_nouveau_quadrillage vaut "non"
Parcours Création_quadrillage
ferme
Reviens

Création_quadrillage :
case :: rectangle, couleur vaut "blanc", hauteur vaut taille_hauteur_case, largeur vaut taille_largeur_case, position vaut 1, plein vaut "oui"
contour_case :: rectangle, couleur vaut "noir", hauteur vaut taille_hauteur_case, largeur vaut taille_largeur_case, position vaut 100, plein vaut "non"
xx :: nombre <
- (((largeur de fond - largeur de bordure_gauche) - (nombre_case_largeur_effectif * taille_largeur_case))/2) + largeur de bordure_gauche
yy :: nombre <
- (hauteur de fond - (nombre_case_hauteur_effectif * taille_hauteur_case))/2
début
// ici on dessine des cases pleines
pour chaque nombre_case, lis
ajoute #case dans grille4
déplace grille4{joker} vers xx et yy
projette grille4{joker}

xx = xx + taille_largeur_case
si xx >
(largeur de bordure_gauche + (nombre_case_largeur_effectif * taille_largeur_case) + (((largeur de fond - largeur de bordure_gauche) - (nombre_case_largeur_effectif * taille_largeur_case))/2) - taille_largeur_case), lis
xx = (((largeur de fond - largeur de bordure_gauche) - (nombre_case_largeur_effectif * taille_largeur_case))/2) + largeur de bordure_gauche
yy = yy + taille_hauteur_case
ferme
ferme

xx = (((largeur de fond - largeur de bordure_gauche) - (nombre_case_largeur_effectif * taille_largeur_case))/2) + largeur de bordure_gauche
yy = (hauteur de fond - (nombre_case_hauteur_effectif * taille_hauteur_case))/2

// ici on dessine le contour des cases
pour chaque nombre_case, lis
ajoute #contour_case dans grille5
déplace grille5{joker} vers xx et yy
Projette grille5{joker}
xx = xx + taille_largeur_case
si xx >
(largeur de bordure_gauche + (nombre_case_largeur_effectif * taille_largeur_case) + (((largeur de fond - largeur de bordure_gauche) - (nombre_case_largeur_effectif * taille_largeur_case))/2) - taille_largeur_case), lis
xx = (((largeur de fond - largeur de bordure_gauche) - (nombre_case_largeur_effectif * taille_largeur_case))/2) + largeur de bordure_gauche
yy = yy + taille_hauteur_case
ferme
ferme

Reviens

Désactiver_grille :
indice est un nombre
début
Mesure grille5 dans indice
Si indice != 0, lis
Si grille_off == faux, lis
grille_off = vrai
Pour chaque indice, efface grille5{joker}
ferme
Sinon lis
grille_off = faux
Pour chaque indice, projette grille5{joker}
ferme
ferme
Reviens

[/php]

Dans ce code, je créer un quadrillage.
Le menu "Activer/Désactiver la grille" sert à effacer le quadrillage de la toile.
Le bouton1 est un raccourci de ce menu et fait donc la même chose.
Bien que ce code fonctionne correctement, j'ai exactement la même chose dans le code de mon programme.
Or, dans ce dernier, seul le bouton1 fonctionne.
Le menu "Activer/Désactiver la grille" ne fonctionne pas.
Pourtant tous les autres menus, disposant également de raccourcis dans la barre d'outils de mon programme, fonctionnent correctement.

Et là encore, si je retire de mon programme la ligne de code suivante :

[php]
Ajoute xtoile dans Fenêtre_principale
[/php]

Le problème disparait !
Mon menu fonctionne de nouveau correctement !
avatar
Site Admin
Messages : 1039
Date d'inscription : 2011-11-03
Voir le profil de l'utilisateur

RE: Problème de sauvegarde : ralentissement de l'atelier

le Fri 22 Feb - 11:08
Wam a écrit:
J'ai bien le problème de fuite mémoire.
Néanmoins, je ne relance mon livre que 3 fois, le ralentissement étant tout de même bien visible.
Car si je le relance une 4ème fois, l'atelier va planter et je ne pourrais alors pas relancer ton programme.

(Lors de l'exécution de mon livre, j'affiche du texte sur le tableau : sa ne nuit pas à l'exécution de l'audit ou de ton programme ?)

non, je n'ai pas encore trouvé la fuite... je cherche encore !
Senior Member
Messages : 585
Date d'inscription : 2012-01-11
Voir le profil de l'utilisateur

RE: Problème de sauvegarde : ralentissement de l'atelier

le Tue 26 Feb - 3:00
Dans mon précédent post, j'ai évoqué un problème avec mon menu pour activer/désactiver l'affichage de mon quadrillage.

J'ai constaté qu'en supprimant tous les autres boutons de ma barre d'outils, le problème disparaissait.

Néanmoins, si j'ajoute des boutons dans l'exemple simple que j'ai fournit, le problème n'apparaît toujours pas...

Dans mon programme j'ai réussit à résoudre le problème en remplaçant ceci :

[php]
Ajoute menu1 dans Fenêtre_principale
Ajoute menu1s1 & menu1s2 dans menu1
Ajoute menu2 dans Fenêtre_principale
Ajoute menu2s1 & menu2s2 & menu2s3 & menu2s4 dans menu2
Ajoute menu3 dans Fenêtre_principale
Ajoute menu3s1 & menu3s2 & menu3s3 & menu3s4 dans menu3
[/php]

Par ceci :

[php]
Ajoute menu1 & menu2 & menu3 dans Fenêtre_principale
Ajoute menu1s1 & menu1s2 dans menu1
Ajoute menu2s1 & menu2s2 & menu2s3 & menu2s4 dans menu2
Ajoute menu3s1 & menu3s2 & menu3s3 & menu3s4 dans menu3
[/php]

Pourtant, de temps en temps, le menu bogue encore...

Il semble donc qu'il y ait un problème lors de l'initialisation des fenêtres...
avatar
Site Admin
Messages : 1039
Date d'inscription : 2011-11-03
Voir le profil de l'utilisateur

RE: Problème de sauvegarde : ralentissement de l'atelier

le Tue 26 Feb - 15:54
Pour l'instant, je n'arrive pas à reproduire le problème ou comprendre l'origine de ce comportement anormale. Je continue l'investigation...
Senior Member
Messages : 585
Date d'inscription : 2012-01-11
Voir le profil de l'utilisateur

RE: Problème de sauvegarde : ralentissement de l'atelier

le Tue 26 Feb - 16:06
J'ai encore un autre problème lié aux IHM dans mon programme.

Voici un exemple :

[php]
globale
// Fenêtre principale
Fenêtre_principale :: formulaire, titre vaut "Editeur de cartes", hauteur vaut 800, largeur vaut 1400
popup :: popup

// Toile
fond :: toile, x vaut 0, y vaut 35, hauteur vaut 740, largeur vaut 1400, couleur vaut "blanc", pointeur vaut "flèche"
xtoile :: xtoile, x vaut 0, y vaut 35
bordure_gauche :: rectangle, x vaut 0, y vaut 0, position vaut 1, hauteur vaut hauteur de fond, largeur vaut 150, plein vaut "oui", couleur vaut "blanc"

// Menus
menu1 :: menu, texte vaut "Carte"
menu1s1 :: sousmenu, texte vaut "Nouveau quadrillage"

// Fenêtre nouveau quadrillage
Fenêtre_nouveau_quadrillage :: formulaire, hauteur vaut 140, largeur vaut 300, titre vaut "Nouveau quadrillage", visible vaut "non", x vaut 450, y vaut 255
txt_Fnq1 :: étiquette, texte vaut "Nombre de cases en largeur :", x vaut 10, y vaut 12
txt_Fnq2 :: étiquette, texte vaut "Nombre de cases en hauteur :", x vaut 10, y vaut 32
txt_Fnq3 :: étiquette, texte vaut "Largeur des cases :", x vaut 10, y vaut 52
txt_Fnq4 :: étiquette, texte vaut "Hauteur des cases :", x vaut 10, y vaut 72
choix_case_largeur :: champ, x vaut 200, y vaut 10, taille vaut 3
choix_case_hauteur :: champ, x vaut 200, y vaut 30, taille vaut 3
choix_taille_largeur_case :: champ, x vaut 200, y vaut 50, taille vaut 3
choix_taille_hauteur_case :: champ, x vaut 200, y vaut 70, taille vaut 3
bouton_valider_Fnq :: bouton, texte vaut "Valider", x vaut 70, y vaut 110
bouton_annuler_Fnq :: bouton, texte vaut "Annuler", x vaut 160, y vaut 110

// Quadrillage
taille_largeur_case :: nombre
taille_hauteur_case :: nombre
nombre_case_largeur :: nombre
nombre_case_hauteur :: nombre
nombre_case_largeur_effectif :: nombre
nombre_case_hauteur_effectif :: nombre
nombre_case :: nombre
nombre_case_total :: nombre
copie_index_carte :: nombre

grille4 :: casier de rectangle
grille5 :: casier de rectangle

grille_off :: drapeau

Fenêtre_principale :
début
// Construction des fenêtres

Ajoute txt_Fnq1 & txt_Fnq2 & txt_Fnq3 & txt_Fnq4 & choix_case_largeur & choix_case_hauteur & choix_taille_largeur_case & choix_taille_hauteur_case & bouton_valider_Fnq & bouton_annuler_Fnq dans Fenêtre_nouveau_quadrillage
Fais réagir Fenêtre_nouveau_quadrillage à "clic souris" pour Fermer_fenêtre_nouveau_quadrillage
Fais réagir bouton_annuler_Fnq à "clic souris" pour Fermer_fenêtre_nouveau_quadrillage
Fais réagir bouton_valider_Fnq à "clic souris" pour Générer_quadrillage

// Début du programme

Ajoute xtoile dans Fenêtre_principale
visible de Fenêtre_principale vaut "oui"
Ajoute menu1 dans Fenêtre_principale
Ajoute menu1s1 dans menu1
Fais réagir Fenêtre_principale à "clic souris" pour Fermer_fenêtre_principale
Fais réagir menu1s1 à "clic souris" pour Fenêtre_nouveau_quadrillage

Tant que 1 != 2, lis
Temporise
ferme

Fermer_fenêtre_principale :
*f :: formulaire
début
Efface toile
Termine

Fenêtre_nouveau_quadrillage :
début
visible de Fenêtre_nouveau_quadrillage vaut "oui"
Reviens

Fermer_fenêtre_nouveau_quadrillage :
début
visible de Fenêtre_nouveau_quadrillage vaut "non"
Reviens

Générer_quadrillage :
valeur1 & valeur2 & valeur3 & valeur4 :: texte
début
Essaie lis
valeur1 = texte de choix_case_largeur
Convertis valeur1 en nombre_case_largeur
valeur2 = texte de choix_case_hauteur
Convertis valeur2 en nombre_case_hauteur
valeur3 = texte de choix_taille_largeur_case
Convertis valeur3 en taille_largeur_case
valeur4 = texte de choix_taille_hauteur_case
Convertis valeur4 en taille_hauteur_case

// on calcule le nombre de cases à afficher en fonction des dimensions de la fenêtre de scrolling
nombre_case_largeur_effectif = entier (largeur de fond / taille_largeur_case)
nombre_case_hauteur_effectif = entier (hauteur de fond / taille_hauteur_case)
Si nombre_case_largeur_effectif >
nombre_case_largeur, nombre_case_largeur_effectif = nombre_case_largeur
Si nombre_case_hauteur_effectif >
nombre_case_hauteur, nombre_case_hauteur_effectif = nombre_case_hauteur
nombre_case = nombre_case_hauteur_effectif*nombre_case_largeur_effectif
nombre_case_total = nombre_case_hauteur*nombre_case_largeur
ferme
Sinon lis
évoque popup.message("Le nombre et/ou la taille des cases ne sont pas valides.")
Reviens
ferme

Si nombre_case_total == 0, lis
évoque popup.message("Erreur : veuillez recommencer.")
ferme
Sinon lis
visible de Fenêtre_nouveau_quadrillage vaut "non"
Parcours Création_quadrillage
ferme
Reviens

Création_quadrillage :
case :: rectangle, couleur vaut "blanc", hauteur vaut taille_hauteur_case, largeur vaut taille_largeur_case, position vaut 1, plein vaut "oui"
contour_case :: rectangle, couleur vaut "noir", hauteur vaut taille_hauteur_case, largeur vaut taille_largeur_case, position vaut 100, plein vaut "non"
xx :: nombre <
- (((largeur de fond - largeur de bordure_gauche) - (nombre_case_largeur_effectif * taille_largeur_case))/2) + largeur de bordure_gauche
yy :: nombre <
- (hauteur de fond - (nombre_case_hauteur_effectif * taille_hauteur_case))/2
début
// ici on dessine des cases pleines
pour chaque nombre_case, lis
ajoute #case dans grille4
déplace grille4{joker} vers xx et yy
projette grille4{joker}

xx = xx + taille_largeur_case
si xx >
(largeur de bordure_gauche + (nombre_case_largeur_effectif * taille_largeur_case) + (((largeur de fond - largeur de bordure_gauche) - (nombre_case_largeur_effectif * taille_largeur_case))/2) - taille_largeur_case), lis
xx = (((largeur de fond - largeur de bordure_gauche) - (nombre_case_largeur_effectif * taille_largeur_case))/2) + largeur de bordure_gauche
yy = yy + taille_hauteur_case
ferme
ferme

xx = (((largeur de fond - largeur de bordure_gauche) - (nombre_case_largeur_effectif * taille_largeur_case))/2) + largeur de bordure_gauche
yy = (hauteur de fond - (nombre_case_hauteur_effectif * taille_hauteur_case))/2

// ici on dessine le contour des cases
pour chaque nombre_case, lis
ajoute #contour_case dans grille5
déplace grille5{joker} vers xx et yy
Projette grille5{joker}
xx = xx + taille_largeur_case
si xx >
(largeur de bordure_gauche + (nombre_case_largeur_effectif * taille_largeur_case) + (((largeur de fond - largeur de bordure_gauche) - (nombre_case_largeur_effectif * taille_largeur_case))/2) - taille_largeur_case), lis
xx = (((largeur de fond - largeur de bordure_gauche) - (nombre_case_largeur_effectif * taille_largeur_case))/2) + largeur de bordure_gauche
yy = yy + taille_hauteur_case
ferme
ferme

Reviens
[/php]

Dans ma fonction Générer_quadrillage, j'essaie tout d'abord de récupérer et de convertir les valeurs de mes champs.
Si sa ne fonctionne pas, l'utilisateur ayant indiquer des lettres par exemple, j'affiche ce message d'erreur :
"Le nombre et/ou la taille des cases ne sont pas valides."

Mais j'ai dû ajouter un autre message d'erreur à mon code :
En effet, parfois les valeurs de mes deux premiers champs ne sont pas récupérées.
Du coup, nombre_case_total est à 0 et j'affiche l'erreur suivante :
"Erreur : veuillez recommencer."

Bien entendu, dans cet exemple simple, cette erreur ne se produit jamais.
En revanche, elle est très fréquente dans mon programme, comme pour le bogue de mon menu "Activer/Désactiver le quadrillage".

J'ai donc l'impression que plus on utilise d'éléments d'IHM dans son programme, et plus il y a de bogues...
avatar
Site Admin
Messages : 1039
Date d'inscription : 2011-11-03
Voir le profil de l'utilisateur

RE: Problème de sauvegarde : ralentissement de l'atelier

le Tue 26 Feb - 16:50
Je dois savoir pourquoi il plante et que tu es obligé d'afficher :

évoque popup.message("Le nombre et/ou la taille des cases ne sont pas valides.")

Pour cela, il faut que tu supprimer l'utilisation du verbe "essayer" dans la fonction "Générer_quadrillage" que tu utilises, soit le greffon Debug ou alors tu lances Linotte en ligne de commandes java -jar Linotte.jar.

Et me retourner les erreurs affichées.

Merci
avatar
Site Admin
Messages : 1039
Date d'inscription : 2011-11-03
Voir le profil de l'utilisateur

RE: Problème de sauvegarde : ralentissement de l'atelier

le Tue 26 Feb - 21:36
Une beta 5 est cours de construction et devrait arriver sur le site.
Elle corrige un bogue mais je doute que ça corrige tes problèmes.

Dur dur de corriger car je n'arrive pas à reproduire ton problème.
Senior Member
Messages : 585
Date d'inscription : 2012-01-11
Voir le profil de l'utilisateur

RE: Problème de sauvegarde : ralentissement de l'atelier

le Tue 26 Feb - 21:57
Tu veux que je te donne mon code par mail ?
Ce sera sans doute plus simple.
Contenu sponsorisé

Re: Problème de sauvegarde : ralentissement de l'atelier

Voir le sujet précédentRevenir en hautVoir le sujet suivant
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum