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 :

Hresult & Delphi


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Responsable associatif
    Inscrit en
    Octobre 2005
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Responsable associatif

    Informations forums :
    Inscription : Octobre 2005
    Messages : 229
    Par défaut Hresult & Delphi
    bonjour à tous,

    j'utilise des fonctions situées dans une librairie externe, et je dois gérer les codes retournés par ces fonctions. Il est dit que ces fonctions retournent un HRESULT... j'ai vu que ce type était longint, mais comment ça s'utilise ?

    Si je fais :

    var
    err : hresult;
    begin
    err := mafonction();

    à la compil j'ai : [Erreur] Types incompatibles : 'HRESULT' et 'procedure, untyped pointer or untyped parameter'

    comment faut-il faire ?
    Merci de vos explications ...

  2. #2
    Membre Expert
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Par défaut
    Qu'est ce que "MaFonction" ?!? une methode a toi ?

    [Edit] En plus tu as pas mis de parametres a ta fonction ....
    En pascal, une fonction/Procedure vide n'a pas de parenthese.

  3. #3
    Membre éclairé
    Homme Profil pro
    Responsable associatif
    Inscrit en
    Octobre 2005
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Responsable associatif

    Informations forums :
    Inscription : Octobre 2005
    Messages : 229
    Par défaut
    mafonction est la fonction externe que j'appelle. En fait je dois passer un entier, donc ce serait mafonction(0) par exemple.
    Ce sont des fonctions qui se trouvent dans un activex (J'ai importé la bibliothèque de types) et ça marche très bien, sauf que je ne sais pas récupérer les codes d'erreurs éventuels.

    euh suis-je plus clair ?

  4. #4
    Membre Expert
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Par défaut
    Tout a fait.
    PAr contre, MaFonction est une fonction visiblement ici.
    Or a mon avis ca doit etre une methode de classe ... sinon je ne voit pas d'erreur particuliere.

  5. #5
    Membre éclairé
    Homme Profil pro
    Responsable associatif
    Inscrit en
    Octobre 2005
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Responsable associatif

    Informations forums :
    Inscription : Octobre 2005
    Messages : 229
    Par défaut
    Mais oui tu as raison !!! ma description est fausse
    En fait j'appelle une fonction d'un objet COM

    err := ObjetCom.Fonction(0);

    et c'est ça qui déclenche l'erreur à la compil :
    Types incompatibles : 'HRESULT' et 'procedure, untyped pointer or untyped parameter'

    Bon, là c'est plus clair ! Alors qu'estce qui ne va pas, ou plutot qu'est ce que je n'ai pas compris ?

  6. #6
    Membre Expert
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Par défaut
    Envoie la definision complete de la fonction et le code exact d'appel

  7. #7
    Membre éclairé
    Homme Profil pro
    Responsable associatif
    Inscrit en
    Octobre 2005
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Responsable associatif

    Informations forums :
    Inscription : Octobre 2005
    Messages : 229
    Par défaut
    Dans la doc de l'objet COM : Procedure décrite pour VC++ (que je ne connais pas)

    HRESULT Sign(short nFlag);
    Signe le fichier contenu dans l'objet XDocument
    • nFlag indique si on attache un jeton d’horodatage et/ou u
    signature.

    dans le wrapper de composant généré par delphi la procedure est :
    procedure Sign(nFlag: Smallint);

    dans mon programme, j'ai donc une form sur laquelle j'ai mis le composant mis à dispo par le wrapper.
    J'appelle alors la procédure par
    xdocument1.Sign(0);
    et ça fonctionne bien, (le document chargé dans le composant est signé, puisque c'est le boulot de la procédure en question) sauf que s'il ya un problème, je ne sais pas le code d'erreur retourné par la procédure... voilà voilà

Discussions similaires

  1. Différences entre Delphi et Visual Basic ?
    Par Anonymous dans le forum Débats sur le développement - Le Best Of
    Réponses: 75
    Dernier message: 30/03/2009, 21h09
  2. [Kylix] Migration delphi -> kylix
    Par Christian dans le forum EDI
    Réponses: 1
    Dernier message: 03/04/2002, 23h50
  3. Réponses: 4
    Dernier message: 27/03/2002, 12h03
  4. Réponses: 2
    Dernier message: 21/03/2002, 00h01

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