IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

comment comparer un variant à un integer?


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Septembre 2006
    Messages
    365
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 365
    Par défaut comment comparer un variant à un integer?
    En fait, je cherche à faire un traitement en fonction de la valeur du "RESULT" de ma fonction (Result : Olevariant)

    le problème c'est que quand je fais if (Result >=0), j'obtiens : "Opération de variant incorrecte"

    qqn sait pourquoi?
    merci

  2. #2
    Membre éclairé
    Inscrit en
    Septembre 2006
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 81
    Par défaut
    J'ai fait un petit test et si mon variant contient un entier, il ne lève pas d'erreur chez moi lors de ce if.

    Pourrais tu simplement, avant ton if, ajouter la ligne ci-dessous et me dire ce qu'il t'affiche ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ShowMessage(VarTypeAsText(VarType(Result)));
    Je me demande si tu as bien un Integer dedans

  3. #3
    Membre émérite Avatar de PadawanDuDelphi
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2006
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2006
    Messages : 678
    Par défaut
    Bonjour,

    Le problème avec les variants c'est que les messages d'erreurs n'apparaîtront jamais à la concéption (puisque la variable peut prendre tous les types, il y a pas de raison d'incompatibilité , mais les erreurs s'afficheront à l'execution. A noter qu'OleVariant introduit en plus un changement de type dans certains cas (voir F1).

    J'ai fait le test avec une variable OleVariant dans laquelle je lui est affectée true, 10, 0.3...J'ai jamais eu d'erreur sur (variable>=0), bien que les résultats soient surprenants (comparer true à 0... ).
    Une idée quand même, avant de faire ta comparaison, stock ton "result" dans une variable temporaire de type integer.

    Sinon post nous le code de ta fonction, on verra ce qu'on peux faire.

    @+.

Discussions similaires

  1. Réponses: 2
    Dernier message: 06/11/2005, 11h11
  2. comment comparer 2 floats ?
    Par piff62 dans le forum C
    Réponses: 2
    Dernier message: 25/10/2005, 13h34
  3. Comment comparer deux dates
    Par vodevil dans le forum Modules
    Réponses: 6
    Dernier message: 01/09/2005, 18h24
  4. Comment comparer le contenu de 2 fichiers ?
    Par steph_1 dans le forum Langage
    Réponses: 4
    Dernier message: 17/06/2005, 18h38
  5. comment comparer deux dates?
    Par billoum dans le forum C++Builder
    Réponses: 2
    Dernier message: 21/08/2004, 21h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo