Gambas France BETA


Pas de compte ? Incription

gbx3: warning: 1 allocation(s) non freed.

Ce sujet est résolu.

1
AuteurMessages
valaquarus#1 Posté le 31/5/2018 à 09:46:50
-- Unus Ex Altera --Comment faire pour ne plus avoir ce message dans la console de l'IDE à part ne plus la regarder :
gbx3: warning: 1 allocation(s) non freed.
Philippe
Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.5
spheris#2 Posté le 31/5/2018 à 19:45:22
Pour répondre directement à ta question, je ne sais pas.
Toujours est-il que c'est un 'warning', cela veut dire qu'il n'influe pas sur le fonctionnement de ton message.
ce n'est pas une 'error'.

Après pour voir à quel moment le warning apparait, je te suggère d'utiliser les points d'arrêt, tu identifieras la ligne où ce warning apparait.
;)
valaquarus#3 Posté le 2/6/2018 à 10:23:15
-- Unus Ex Altera --Grand merci sphéris, je vais faire ce que tu dis et je te raconte.
Philippe
Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.5
vuott#4 Posté le 4/6/2018 à 22:07:12
Ne cedere ineluctabili possimusCela se produit lorsque vous utilisez des objets qui ne sont pas nettoyés lorsque l'application est fermée.
Cela arrive généralement parce que vous utilisez QUIT, ou parce que les objets ne sont pas libérés après avoir été utilisés.
« Vita non suavis esse potest, nec Mors amara. »
valaquarus#5 Posté le 6/6/2018 à 22:05:12
-- Unus Ex Altera --Merci vuott de votre réponse,
j'avais bien compris que ces ressources ne sont pas libérées mais pourquoi alors que je ferme toutes les forms pouvant être ouvertes restent ils des objets non nettoyés?
Je n'ai pas encore vérifié pas à pas comme le demande sphéris mais une fois découvert "qui" reste actif ne pas savoir comment le faire "s'éteindre" proprement.
Philippe.
Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.5
vuott#6 Posté le 7/6/2018 à 00:18:06
Ne cedere ineluctabili possimusIl est nécessaire de comprendre quels objets sont là. :|

Pouvez-vous joindre votre code-projet Gambas?
« Vita non suavis esse potest, nec Mors amara. »
valaquarus#7 Posté le 7/6/2018 à 14:41:23
-- Unus Ex Altera --Bon j'ai lancer le prog pas à pas et ...
pas de message dans la console, pas de warning.

Je colle le bout de prog de fin, pour commentaire comme demandé par vuott :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
PUBLIC SUB FinProg()
IF ModPrinc.arret = TRUE THEN
IF NOT IsNull(FMain) THEN FMain.Close()
IF NOT IsNull(SplashForm) THEN SplashForm.Close()
IF NOT IsNull(AideFrm) THEN AideFrm.Close()
IF NOT IsNull(Raisonnement) THEN Raisonnement.Close()
IF NOT IsNull(LicenceFrm) THEN LicenceFrm.Close()
IF NOT IsNull(aProposForm) THEN aProposForm.Close()
IF NOT IsNull(CopyRight) THEN CopyRight.Close()
IF NOT IsNull(DimensionsForm) THEN DimensionsForm.Close()
IF NOT IsNull(GestBase) THEN GestBase.Close()
IF NOT IsNull(PlansForm) THEN PlansForm.Close()
IF NOT IsNull(selectionForm) THEN selectionForm.Close()
IF NOT IsNull(maconnexion) THEN maconnexion.Close()
IF NOT IsNull(FabricationFrm) THEN FabricationFrm.Close()
IF NOT IsNull(FiltreForm) THEN FiltreForm.Close()
IF NOT IsNull(hLock) THEN
TRY UNLOCK ModPrinc.hLock
TRY KILL User.home &/ ".PVA-lock"
ENDIF
WAIT
QUIT
ELSE
ModPrinc.DebutProg()
ENDIF
END

Philippe
Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.5
vuott#8 Posté le 7/6/2018 à 17:52:27
Ne cedere ineluctabili possimusCe code ne suffit pas.
Cependant, essayez en fermant en premier les Objets que vous avez ouverts en dernier.
« Vita non suavis esse potest, nec Mors amara. »
valaquarus#9 Posté le 7/6/2018 à 22:14:11
-- Unus Ex Altera --Bonsoir vuott,
c'est la sub de clôture de mon module principal. Tout ce que j'ai ouvert est normalement fermé et je teste dans ce sub tout ce qui a été ouvert une fois par le programme. Quand je retire ou commente les lignes 21 et 22 wait et Quit je n'ai plus de message dans la console de l'IDE et tout semble être fermé correctement, j'avoue que je ne comprends pas la différence.
Philippe
Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.5
didier18#10 Posté le 8/6/2018 à 10:02:22
Bonjour valaquarus

Je ne comprend pas bien l’intérêt de la ligne 3...
Si FMain n'est pas null alors on ferme Fmain.
Ensuite dans l'ordre tu fermes les autres objets et tu termines en quittant...
Or Fmain est déjà clos non ?
Peut être qu'au lieu de faire une procédure "PUBLIC SUB FinProg()" tu devrai utiliser "Public Sub Form_Close()", ainsi toutes les commandes seront exécutés à la fermeture du formulaire principal...

Bonne journée.
valaquarus#11 Posté le 8/6/2018 à 12:39:20
-- Unus Ex Altera --Bonjour Didier18,
oui tu as raison cette ligne normalement ne sert à rien sauf que je passe en revue tous les trucs que j'avais fait ouvrir par le prog sans en oublier un seul. "Public Sub Form_Close()" est déjà utilisé pour fermer la form principale mais comme j'utilise un module principal pour ouvrir le programme, je finis par lui aussi. Maintenant que j'ai retiré quit et wait je n'ai plus ce message dans la console donc je vais passer en résolu même si tout me passe un peu au dessus du nid de coucou.
Philippe
Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.5
1