AGENDA HEBDO

Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 - 19 juil. 2011 à 18:06
dubois77 Messages postés 675 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 19 février 2019 - 25 juil. 2011 à 14:37
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

dubois77 Messages postés 675 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 19 février 2019 14
25 juil. 2011 à 14:37
Bonjour Pierrefo
Bien sur tu as raison, à la mise à jour j'ai mis le dcu au lieu du pas
je modifie de suite
pierrefo Messages postés 54 Date d'inscription mardi 22 juin 2004 Statut Membre Dernière intervention 29 décembre 2008
25 juil. 2011 à 10:23
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.
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
19 juil. 2011 à 18:06
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.
Rejoignez-nous