Bon c encore moi, vous allez me trouver pénible à tout le temps poser des questions, mais promis je fais des recherches avant, que ce soit dans la doc papier ou dans l'aide en ligne mais impossible de trouver ce que je veux (enfin j'en trouve mais dans ce cas je pose pas de questions donc vous vous en rendez pas compte !). Et google, j'ai pas vraiment Internet (quand je poste, je suis obligé de changer de pièce, de débrancher un fax, de me connecter en 56k... Bref c pas le top !) donc difficile de l'utiliser !
Cette fois-ci je gère les erreurs lors de l'appel de fonctions. J'ai créé une fonction qui permet d'afficher un message d'erreur (ct mieux ainsi, étant donné qu'elle est potentiellement appelée très souvent). Pour l'instant j'affiche le code de l'erreur mais j'aimerai également afficher le nom de la fonction qui l'a appelée.
Je m'explique :
Code :
- procedure erreur_appel(code_erreur:integer) ;
- begin
- messagedlg('Erreur lors de l''appel d''une fonction'+chr(13)+chr(10)+chr(13)+chr(10)+
- 'Code erreur : '+IntToStr(code_erreur),mtError,[mbOK],0);
- end;
- function mafonc(...):integer ;
- begin
- retour_:=Autre_fct(param);
- if retour=0 then
- begin
- // C tt bon, je fais mon tralala
- mafonc:=1;
- end
- else
- begin
- erreur_appel(retour);
- mafonc:=0;
- end;
- end;
|
Donc ça ça fonctionne, mais ce que j'aimerai pouvoir faire c également affiché le nom de la fonction où a eu l'erreur, genre ici "mafonc". Je peux bien sur le faire en rajoutant un paramètre "nom_fonction: string" mais ça m'oblige à chaque appel à l'écrire en dur... D'où ma question (on y arrive !), est-ce qu'il y a un moyen de connaitre le nom de la focntion appelante automatiquement ? Bref ct long mais la réponse tient en un mot !
Puisque j'y suis, c pas possible de faire affectation et test sur la même ligne, dans le genre : if (retour_SIS:=SIS_AjouterGroupe(1130))=0 (ça ça marche pas, c pour ça que je demande !)
Puisque j'y suis deuxième, y'a pas mieux que le chr(13)+chr(10) pour passer à la ligne ?!
Merci pour tout !