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

WinDev Discussion :

Passage de paramètre par valeur à une sub avec une dll .net


Sujet :

WinDev

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2009
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Passage de paramètre par valeur à une sub avec une dll .net
    Bonjour,

    J'utilise WD 8.
    Je dois employer les proprietes et méthodes d'une DLL .net.
    J'ai creer un assemblage .net avec cette dll.
    Les déclarations et l'assignation de valeur au proprietes se passent bien.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    	eSignature20_OCX est un ValidationManager dynamique
    	eSignatureResult est un SignatureResult  dynamique
     
    	QUAND EXCEPTION DANS
    		eSignature20_OCX = allouer un ValidationManager
    	//	eSignatureResult = allouer un SignatureResult
    	FAIRE
    		FinProgramme("Erreur lors de la création de l'objet eSignature (eSignature.dll !")
    	FIN
     
    	eSignature20_OCX:ServerName = ConnServer
    	eSignature20_OCX:DataBaseName = ConnDB
    	eSignature20_OCX:ConnectionTimeOut = ConnTimeOut
    	eSignature20_OCX:ArchitectureType = 0 //Stand alone (One central DB).
    	eSignature20_OCX:UseVirtualKeyboard = 0
    Mais lors de l'appel de cette methode

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	eSignatureResult = eSignature20_OCX:ValidateOperation("Administration Operation","",0,"Identification","")
    Je recupere l'erreur suivante :Aucune syntaxe de ValidateOperation ne correspond.

    Pourant les paramètres sont corrects.. L'enum {EValidationType} de VB est bien de type integer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    // ValidateOperation
    //
    // Paramètres :
    //	OperationLevel1 : chaîne
    //	OperationLevel2 : chaîne
    //	ValidationType : {EValidationType}
    //	TitleLevel1 : chaîne
    //	TitleLevel2 : chaîne
    // Valeur de retour :
    //	SignatureResult
     
    [ <Résultat> = ] ValidateOperation (<OperationLevel1> est chaîne, <OperationLevel2> est chaîne, <ValidationType> est {EValidationType}, <TitleLevel1> est chaîne, <TitleLevel2> est chaîne)
    Quelqun peut-il m'aider,

    D'avance merci ;-)

    Didier

  2. #2
    Membre expérimenté Avatar de klbsjpolp
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 065
    Points : 1 322
    Points
    1 322
    Par défaut
    Windev traite les énumérations comme des classes. Ils ont des instances comme variables globales que tu peux utiliser comme valeur. Regarde dans l'arborescence du projet tu vas comprendre.
    «Un problème bien défini est un problème à moitié résolu.»

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2009
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Passage de parametre par valeur à une sub avec une dll .net
    Bonjour,

    J’ai déclaré 2 objet derive d’une DLL .net que j’ai déclaré en com (via regsam).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    eSignatureValidationManager est objet OLE "eSignature.ValidationManager"
    ValidateOperationSignatureResult est  objet OLE "eSignature.SignatureResult"
    Lors de l’appel à cette fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    eSignatureValidationManager>>ValidateOperation("Administration Operation","",0,"Identification","",ValidateOperationSignatureResult)
    Malgré que l’objet ValidateOperationSignatureResult soit noté un paramètre par référence en .net, l’objet n’est pas modifié au retour de la fonction.
    J’ai écrit le même code en .net et la l’objet est modifie.

    Dois-je déclarer en Windev de façon spéciale ?
    Il y a une syntaxe spéciale pour l’appel à la fonction ?
    Ou autre ?

    Merci d’avance pour votre aide,

    Didier

  4. #4
    Membre expérimenté Avatar de klbsjpolp
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 065
    Points : 1 322
    Points
    1 322
    Par défaut
    Essai ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ValidateOperationSignatureResult est  objet OLE dynamique "eSignature.SignatureResult" = allouer "eSignature.SignatureResult"
    «Un problème bien défini est un problème à moitié résolu.»

Discussions similaires

  1. Réponses: 6
    Dernier message: 20/01/2013, 14h08
  2. Réponses: 2
    Dernier message: 02/04/2012, 08h34
  3. [XL-2002] Macro de comparaison d'une cellule d'une feuille avec une cellule d'une autre feuille.
    Par steelydan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/09/2010, 12h59
  4. Réponses: 4
    Dernier message: 15/10/2009, 13h33
  5. Réponses: 36
    Dernier message: 06/03/2009, 11h00

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