MOD3, UN JEU DE PATIENCE

cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 - 6 juin 2013 à 14:10
Debiars Messages postés 285 Date d'inscription lundi 16 juin 2003 Statut Membre Dernière intervention 11 février 2018 - 9 juin 2013 à 08:48
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/55203-mod3-un-jeu-de-patience

Debiars Messages postés 285 Date d'inscription lundi 16 juin 2003 Statut Membre Dernière intervention 11 février 2018
9 juin 2013 à 08:48
@Cirec : merci pour ce dépoussiérage de cette unité de gestion de cartes à jouer, néanmoins très intéressante.
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
8 juin 2013 à 13:16
re,

ça va déjà mieux ...

mais les deux premières lignes de la procédure "EffaceJeu"
ne sont pas utile et peuvent être aisément supprimées.

procedure EffaceJeu;
begin
//Tapis.Free;
//Tapis := TBitmap.Create;
...
end;

pourquoi vouloir, à tout prix, libérer et récréer ce Bitmap ici ?
je n'y vois aucun intérêt.
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
7 juin 2013 à 14:25
Salut Debiars,

comme toujours c'est un excellent jeu, bien fait et agréable.
Bravo et merci de le partager avec nous.

J'ai pas encore parcouru tout le code mais il y a un petit oubli
quelque par qui engendre des fuites de mémoire.

---------------------------
Unexpected Memory Leak
---------------------------
An unexpected memory leak has occurred. The unexpected small block leaks are:

21 - 28 bytes: TBrush x 1
29 - 36 bytes: TPen x 1, Unknown x 2
37 - 44 bytes: TFont x 1
61 - 68 bytes: TBitmap x 1
101 - 108 bytes: TBitmapCanvas x 1
117 - 124 bytes: TBitmapImage x 1
149 - 156 bytes: Unknown x 1
---------------------------
OK
---------------------------
et ces valeurs augmentent à chaque nouveau jeu.

après un rapide coup d'oeil, je dirais que le coupable
se nomme "Tapis" !

en effet cette variable semble être recréée à chaque appel
à la procédure EffaceJeu mais n'est jamais libérée.

Il faudrait, peut être, la créer dans "Initialise" et la libérer
dans "Libere" comme les autres !?

ps: La note arrivera après la correction :p
Debiars Messages postés 285 Date d'inscription lundi 16 juin 2003 Statut Membre Dernière intervention 11 février 2018
6 juin 2013 à 15:21
Merci!
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
6 juin 2013 à 15:16
c'est fait !
Rejoignez-nous