DÉMINEUR UTILISANT UNE TDRAWGRID ET AVEC LEQUEL ON PEUT TRICHER

Signaler
Messages postés
3827
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
16 décembre 2021
-
Messages postés
1727
Date d'inscription
vendredi 27 décembre 2002
Statut
Modérateur
Dernière intervention
6 novembre 2021
-
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/44977-demineur-utilisant-une-tdrawgrid-et-avec-lequel-on-peut-tricher

Messages postés
1727
Date d'inscription
vendredi 27 décembre 2002
Statut
Modérateur
Dernière intervention
6 novembre 2021
8
J'ai bien pris note de vos suggestions.

To do pour la prochaine version :

- chargement des ressources son en mémoire pour éviter un accès répétitif au disque dur, comme me le suggère Cirec (ta dernière solution me convient tout à fait) ;
- ajout du clic simultané droit et gauche comme suggéré par Kenavo. Mais pour ça il faut que je refasse complètement le logigramme... y'a du boulot.

A plus.
Messages postés
2527
Date d'inscription
jeudi 15 janvier 2004
Statut
Membre
Dernière intervention
16 octobre 2019
18
@ Cirec
Tu avais peut-être utilisé "getHeapStatus.totalFree" au lieu de "getHeapStatus.TotalAllocated", non?

"getHeapStatus.totalFree" est en effet peu fiable à cause du système d'exploitation qui alloue de l'espace quand nécessaire...

Enfin, j'dis ça, j'dis rien. Car on peut te faire confiance en général, quand ton PC n'est pas envouté. ;)
Messages postés
3827
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
16 décembre 2021
46
Pourquoi faire simple quand on peut faire compliqué ?

Voici une méthode très simple propre et rapide ;-)

Le fichier ressource ressemble à ça :
Tic WAV "Tic.wav"
Tac WAV "Tac.wav"

{$R Sound.res}
Uses MMSystem;
var
PTic, PTac : Pointer;

procedure TForm2.FormCreate(Sender: TObject);
Var
HRes : THandle;
begin
{Charge la ressource en mémoire}
HRes := LoadResource(hInstance, FindResource(hInstance, 'Tic', 'WAV'));
{Renvoie un pointeur sur la ressource
Il n'est pas utile de faire appel UnLockResource
Les libérations se font automatiquement par Windows à la fin de l'application
http://msdn2.microsoft.com/en-us/library/ms648047.aspx}
PTic := LockResource(HRes);

HRes := LoadResource(hInstance, FindResource(hInstance, 'Tac', 'WAV'));
PTac := LockResource(HRes);
end;

Penses tu que ce soit assez rapide ;-)
En l'appliquant sur tous les sons l'application peut ainsi devenir autonome,
pas de fichiers annexe.

@Caribensila :
"Mais pourquoi n'utilisez-vous pas "getHeapStatus.TotalAllocated"
pour détecter les fuites de mémoire?"

Turbo Delphi le fait très bien juste en mettant un boolean à vrai
et qu'il me dit dans la majorité des cas quel objet en est responsable ;)

J'avais déjà fait des testes avec "getHeapStatus.TotalAllocated" sous D4
mais il ne détectait pas toujours toutes les fuites, mais je m'y suis peut être mal pris ?

L'autre possibilité est d'utiliser MemCheck " http://v.mahon.free.fr/pro/freeware/memcheck/ "
Messages postés
2527
Date d'inscription
jeudi 15 janvier 2004
Statut
Membre
Dernière intervention
16 octobre 2019
18
Sniff?.. Sniff!..
Y'a comme une odeur d'éther quand on arrive au bout de ce couloir...
Nix a médicalisé le service?

Bon! Vous allez dire que j'ai encore un métro de retard... Mais pourquoi n'utilisez-vous pas "getHeapStatus.TotalAllocated" pour détecter les fuites de mémoire?
Ca marche pas bien?
Messages postés
1727
Date d'inscription
vendredi 27 décembre 2002
Statut
Modérateur
Dernière intervention
6 novembre 2021
8
C'est curieux chez les marins ce besoin de faire des phrases...
N'aurais-tu pas fait ton service national dans la marine éponyme ? ;-)
Afficher les 40 commentaires