2 questions : gestion des exceptions et paramètres des fonctions

2 questions : gestion des exceptions et paramètres des fonctions - Delphi/Pascal - Programmation

Marsh Posté le 26-05-2003 à 11:27:40    

Bonjour,
Je commence la semaine avec un problème très pénible qui a tendance à me mettre de mauvaise humeur (déjà que le lundi...). En fait, mon programme ne veut pas gérer les exceptions et je ne sais pas pourquoi... J'en suis arrivé à faire un programme test :

Code :
  1. function test_exception():word ;
  2. begin
  3.   try
  4.     raise EVariantTypeCastError.Create('Test...');
  5.   except
  6.     on EVariantError do messagedlg('Yahoo ! Exception détectée...',mtInformation,[mbOK],0);
  7.   end;
  8. end;


 
Et même ça ça veut pas aller dans mon bloc except, c quand même dingue !... (fonction appelée par une autre fonction déclenchée par l'appui d'un bouton). Je pense donc que c soit un problème de compilation, soit d'include, soit que j'ai pas le droit de foutre ma gestion là, soit que je suis vraiment trop con, soit... !
 
Autre petite question, y'a t-il moyen de connaitre le nombre de paramètres d'une fonction et d'accéder à leur valeur sans utiliser directement leur nom (pour automatiser un programme avec une boucle 'for' pour passer tous les paramètres un par un). Ca se fait en C mais en Delphi j'ai pas trouvé ?...
 
Merci bien pour vos réponses et bon courage pour le début de semaine (et la fin d'ailleurs !) :)

Reply

Marsh Posté le 26-05-2003 à 11:27:40   

Reply

Marsh Posté le 26-05-2003 à 12:04:25    

heu t'as pas comme l'impression que l'exception que tu raises n'est pas du même type que celle que tu interceptes ? :D
 
EVariantTypeCastError contre EVariantError
à moins que EVariantTypeCastError hérite de EVariantError, alors là je sais pas pourquoi ça ne marche pas :o
 
Pour l'autre problème, le plus simple est de faire une fonction recevant un paramètre de type "array of xxx" (où xxx = un type de variable), puis tu parcours tout avec un for elem := Low(param) to High(param) où param est ton array of const et elem est du même type que les éléments de ton tableau
 
Et tu appelles ta fonction avec fonction([param1, param2, param3]);


Message édité par antp le 26-05-2003 à 12:04:59

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 26-05-2003 à 13:45:52    

Vivi ça hérite ;) Bon je vais essayer de voir pourquoi ça veut pas...
Merci pour la deuxième question, je vais effectivement faire comme ça.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed