AGENDA HEBDO

Signaler
Messages postés
3811
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
15 juin 2020
-
Messages postés
675
Date d'inscription
jeudi 17 avril 2008
Statut
Membre
Dernière intervention
19 février 2019
-
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/53386-agenda-hebdo

Messages postés
675
Date d'inscription
jeudi 17 avril 2008
Statut
Membre
Dernière intervention
19 février 2019
11
Bonjour Pierrefo
Bien sur tu as raison, à la mise à jour j'ai mis le dcu au lieu du pas
je modifie de suite
Messages postés
54
Date d'inscription
mardi 22 juin 2004
Statut
Membre
Dernière intervention
29 décembre 2008

Bonjour Dubois77,

Il pourrait être utile de joindre le fichier Systus.pas dans ton ZIP!
Sans doute un oubli lors de la dernière mise à jour.
Messages postés
3811
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
15 juin 2020
30
Salut Dubois77,

juste quelques mots sur ton unité fétiche Systus.pas

procedure INI(var O:TstringList);
begin
O := TstringList.Create;
end;
//--------------------------------------- FRE(O)
procedure FRE(var O:TstringList);
begin
O.Destroy;
end;

pour le premier si O est déjà crée pfuuut, fuite de mémoire
procedure INI(var O:TstringList);
begin
if Assigned(O) then
O.Clear
else
O := TstringList.Create;
end;

pour le deuxième c'est juste pas possible ... il ne faut jamais appeler destroy directement sinon le composant n'est pas correctement libéré.
Il faut appeler la méthode Free de l'objet qui elle appelle Destroy en interne.
procedure FRE(var O:TstringList);
begin
if Assigned(O) then
begin
O.Free;
O := nil;
end;
end;

à partir de D7 (je crois) on peut faire plus court:
procedure FRE(var O:TstringList);
begin
if Assigned(O) then
FreeAndNil(O);
end;

sinon pour fonction PosEx je te conseille de regarder du coté de FastCode:
http://fastcode.sourceforge.net/challenge_content/rtl_replcmnt_pkg.html

leurs codes font parties des nouvelles versions de Delphi c'est dire si ils sont bons.