Le try...except travaille t-il toujours bien [Résolu]

Messages postés
75
Date d'inscription
samedi 28 juin 2008
Statut
Membre
Dernière intervention
16 août 2011
- - Dernière réponse : cs_cantador
Messages postés
4996
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
- 24 mars 2009 à 17:19
Salut!
Je me pose toujours la question de savoir pourquoi ce message d'erreur en rouge apparait-il. J'ai mis le try...except. Pas toujours de resultat. Que faire?



project luna_rhumanos.exe raised exception class EVariantTypeCastError with message 'Could not convert variant of type <?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>







(Null) into type (String)'. Process stopped. USe Step or Run to continue.







 






begin






 







 
try







  ColocAct_ColocAnt_FormAcademRealiz_CursosProfRealiz.Filter:='nome_completoanexo=' +quotedstr(nomeconscolocacoes.Text);






  ColocAct_ColocAnt_FormAcademRealiz_CursosProfRealiz.Filtered:= true;






  if not ColocAct_ColocAnt_FormAcademRealiz_CursosProfRealiz.IsEmpty then begin






  end else






  showMessage('Pedido não encontrado');






 







  categoriaOccupLancam.Text:= ColocAct_ColocAnt_FormAcademRealiz_CursosProfRealiz.FieldValues['categoria_occup_colocactuais'];






  ndespachoLancam.Text:= ColocAct_ColocAnt_FormAcademRealiz_CursosProfRealiz.FieldValues['ndespacho_colocactuais'];






except







end;
end;

LunaSoft
Afficher la suite 

9 réponses

Meilleure réponse
Messages postés
3869
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
3 juin 2016
5
3
Merci
Tout simplement parce que Delphi t'informe quand-même des messages d'exception. Il suffit de lancer ton application sans Delphi, ou bien décocher une option (j'ai oublié laquelle) dans les options de compilation.

Cordialement, Bacterius !

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 119 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Bacterius
Messages postés
4307
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
2 janvier 2019
26
0
Merci
C'est parce que tu utilise des identifiants d'objet trop long.

"ColocAct_ColocAnt_FormAcademRealiz_CursosProfRealiz"

<hr size="2" width="100%" />
Commenter la réponse de f0xi
Messages postés
4996
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
9
0
Merci
bonjour,
(Null) into type (String)
On peut supposer que tu essaie de faire quelque chose avec un variant
de valeur nulle (peut-être même initialisée à Null)
ce qui n'est pas possible..

vie le try except; mets un point d'arrêt et dis nous sur quelle ligne ça plante.
car

..et mets le code complet

cantador
Commenter la réponse de cs_cantador
Messages postés
4996
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
9
0
Merci
désolé..
c'est :

vire le try except !
tu le remettras éventuellement après..

cantador
Commenter la réponse de cs_cantador
Messages postés
3869
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
3 juin 2016
5
0
Merci
@f0xi : je crois me souvenir que la limite pour les variables ou les types est de 63 caractères (ou 64) non ?
Sinon il faudrait que Lunasoft réponde (ayant validé ma solution, qui n'est probablement pas la bonne vu les commentaires de Cantador et f0xi), pour voir un peu ce qui est bon.

Cordialement, Bacterius !
Commenter la réponse de Bacterius
Messages postés
75
Date d'inscription
samedi 28 juin 2008
Statut
Membre
Dernière intervention
16 août 2011
0
Merci
Merci a Tous!

Le probleme ne pas sur les identifiants d'object trop long.
Les codes qui ont mis ici sont très exactement ceux qui me posent problème.
Je reconnais une chose: lorsque je fais une recherche et que le message "pas trouvé" apparait. Juste après avoir cliqué sur le "ok" de mon message. Le fameux message d'erreur s'affiche. J'ai constaté qu'il vient lorsqu'il ne rencontre pas la (ou les données) demandé(es).
Curieusement, lorsque j'omets de mettre ces codes
if not ColocAct_ColocAnt_FormAcademRealiz_CursosProfRealiz.IsEmpty then begin

end else

  showMessage('Pedido não encontrado');

le dit message n'apparait jamais même s'il ne rencontre pas les données demandées

LunaSoft
Commenter la réponse de Lunasoft
Messages postés
4996
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
9
0
Merci
Merci de mettre le code complet afin de voir quelles sont les types de variables déclarées.
il s'agit vraisemeblablement d'un souci de conversion qui ne passe pas..

cantador
Commenter la réponse de cs_cantador
Messages postés
75
Date d'inscription
samedi 28 juin 2008
Statut
Membre
Dernière intervention
16 août 2011
0
Merci
voici tous les codes. Rien de grand...juste ce morceau:

if not ColocAct_ColocAnt_FormAcademRealiz_CursosProfRealiz.IsEmpty then begin

end else  showMessage('Pedido não encontrado');

nom.Text:= ColocAct_ColocAnt_FormAcademRealiz_CursosProfRealiz.FieldbyName(nome).AssTring;

prenom:= ColocAct_ColocAnt_FormAcademRealiz_CursosProfRealiz.FieldbyName(prenom).AssTring;

Merci,

LunaSoft
Commenter la réponse de Lunasoft
Messages postés
4996
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
9
0
Merci
Comme tu n'as pas mis le code complet, on va jouer aux devinettes :

Déjà pourquoi ne pas écrire :

if ColocAct_ColocAnt_FormAcademRealiz_CursosProfRealiz.IsEmpty then
begin
  showMessage('Pedido não encontrado');
  exit;
end;
nom.Text:= ColocAct_ColocAnt_FormAcademRealiz_CursosProfRealiz.FieldbyName(nome).AssTring;
prenom:= ColocAct_ColocAnt_FormAcademRealiz_CursosProfRealiz.FieldbyName(prenom).AssTring;

Comme on ne connait les propriétés de truc machin :
ColocAct_ColocAnt_FormAcademRealiz_CursosProfRealiz
on ne peut pas faire grand chose...

tu peux tenter ça aussi :
if (ColocAct_ColocAnt_FormAcademRealiz_CursosProfRealiz.Bof) and
(ColocAct_ColocAnt_FormAcademRealiz_CursosProfRealiz.Eof) then
begin
---

cantador
Commenter la réponse de cs_cantador