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

API, COM et SDKs Delphi Discussion :

ActiveX retour de fonction erroné S_OK et non S_FALSE


Sujet :

API, COM et SDKs Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 74
    Points : 46
    Points
    46
    Par défaut ActiveX retour de fonction erroné S_OK et non S_FALSE
    Bonjour,
    J'ai fait un petit programme pour expliquer mon souci.
    J'ai un serveur COM avec une fonction Reset venant de IEnumVariant. Pour des raisons de test d'un programme bien trop gros pour être ici, la fonction renvoie la valeur S_FALSE.
    Dans mon petit programme client, quand j'appelle la fonction Reset j'ai systématiquement la valeur S_OK qui revient!!! ??????
    Je ne comprends absolument pas comment c'est possible que le résultat de la fonction soit changée.
    En attaché le serveur (Server.zip) et le programme de test (TestTest.zip).
    Merci de vos idées.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 74
    Points : 46
    Points
    46
    Par défaut Erreur d'appel ActiveX
    Dans ma recherche de l'erreur de retour S_OK au lieu de S_FALSE (voir post précédent), j'ai fait un tout petit serveur avec juste une méthode qui renvoie S_FALSE (type HResult), malheureusement cela plante au niveau client avec une erreur: Le projet TestTest.exe a déclenché la classe d'exception EOleSysError avec le message 'Type de variable incorrect' (c'est l'instruction Return:=coll.Method qui déclenche ça).
    Des idées??

    Voici le .ridl
    Nom : delphi.jpg
Affichages : 98
Taille : 104,0 Ko

    le code dans le serveur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function TTest1.Method: HResult;
    begin
      Result:=S_FALSE;
    end;
    et le code dans le client:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    procedure TForm1.Button1Click(Sender: TObject);
    var
      coll:variant;
      Return:HResult;
    begin
      coll:= CreateOLEObject('Project.Test1');
      Return:=coll.Method;
      if Return=S_FALSE then showmessage('OK') else showmessage('ERROR!!!!!!!!!!!!!!!!');
    end;

  3. #3
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 858
    Points : 11 301
    Points
    11 301
    Billets dans le blog
    6
    Par défaut
    var coll: OleVariant; ??
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 74
    Points : 46
    Points
    46
    Par défaut
    J'ai essayé aussi c'est pareil. Merci quand même.

Discussions similaires

  1. Réponses: 3
    Dernier message: 05/09/2006, 00h47
  2. Retour de fonction en C
    Par troumad dans le forum Linux
    Réponses: 2
    Dernier message: 06/11/2005, 21h43
  3. Utilisation d'un retour de fonction dans un decode
    Par CFVince dans le forum Oracle
    Réponses: 4
    Dernier message: 20/10/2005, 17h22
  4. Référence en retour de fonction, à transformer en hash
    Par raoulchatigre dans le forum Langage
    Réponses: 4
    Dernier message: 15/07/2005, 14h24
  5. Une fonction avec des attributs non obligatoires
    Par YanK dans le forum Langage
    Réponses: 5
    Dernier message: 15/11/2002, 13h39

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