|
[Résolu] Type Variant |
|
Stagiaire WDF
Inscrit: 16/03/2006 19:30
Post(s): 27
|
Bonsoir à tous,
J'utilise l'automation pour piloter un logiciel OCR.
A un moment j utilise une methode avec 3 parametres OUT en entrée: maFonction (param1, param2, param3)
En vb les parametres sont declarés en Variant: Dim Param1 AS Variant Dim Param2 AS Variant Dim Param3 AS Variant
Apres l execution de cette methode, je recupere les parametres sous forme de tableau: maValeur = Param(1)
J essaye de convertir les parametres Variant en WLangage. J ai bien entendu essayé le Type Variant de Windev, et bien sur j ai une erreur d incompatibilité de type.
J ai tout essayé: chaine, entier, tableau de chaine, tableau d entier, tableau de variant, etc .. et toujours cette fichu erreur!!
Est ce que l un d entre vous a deja eu ce pb vraiement genant ?
Merci d avance. Bonne soirée à tous.
Contribution le : 20/03/2007 20:49
Edité par drcharly93 sur 21/3/2007 15:55:35
|
|
|
Re: Type Variant |
|
ChefDeProjet WDF
Inscrit: 02/05/2006 21:28
Post(s): 160
|
mavaleur=param(1) c'est pas bon
extrait de l'aide WD sur le passage de paramètres Passage de paramètres
Lors de l'appel d'une procédure, les paramètres peuvent être :
Passés par variable (par adresse). Si le paramètre est modifié dans la procédure, le traitement appelant la procédure récupérera le paramètre avec sa valeur modifiée. Pour passer un paramètre par variable à une procédure, utilisez la syntaxe suivante :
<Nom de la procédure>(<Nom de la variable passée en paramètre>)
Par exemple :
Indice est un entier = 1 // Avant l'appel de la procédure, Indice vaut 1 AjouteUn(Indice) // Après l'appel de la procédure, Indice vaut 2 -- Déclaration de la procédure PROCEDURE AjouteUn(Compteur) Compteur += 1
Passés par valeur. Si le paramètre est modifié dans la procédure, le traitement appelant la procédure récupérera le paramètre avec sa valeur NON modifiée. Pour passer un paramètre par valeur à une procédure, utilisez la syntaxe suivante :
<Nom de la procédure>((<Nom de la variable passée en paramètre>))
Par exemple :
Indice est un entier = 1 // Avant l'appel de la procédure, Indice vaut 1 AjouteUn((Indice)) // Après l'appel de la procédure, Indice vaut toujours 1 -- Déclaration de la procédure PROCEDURE AjouteUn(Compteur) Compteur += 1
Contribution le : 20/03/2007 22:07
|
|
|
Re: Type Variant |
|
Stagiaire WDF
Inscrit: 16/03/2006 19:30
Post(s): 27
|
Bonjour,
Merci pour votre réponse. J'ai donc essayé la 2eme methode et j ai toujours la meme erreur. J ai déclaré une variable de type variant et passé à ma procedure: maproc((variable)), mais rien n y fait, j ai toujours incompatibilité de type.
Contribution le : 21/03/2007 12:38
|
|
|
Re: Type Variant |
|
Animateur WDF
Inscrit: 02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
|
Bonjour, Avez vous tester avec un variant automation ?
oObjet est un objet Automation "ObjetAutomation"
param1 est un tableau de 0 entiers
maFonction (ConstruitVariantAutomation(param1), param2, param3)
voir aussi s'il faut utiliser la fonction AutomationParamètre()
Contribution le : 21/03/2007 14:05
|
|
|
Re: Type Variant |
|
Stagiaire WDF
Inscrit: 16/03/2006 19:30
Post(s): 27
|
Bonjour,
Merci à tous pour votre collaboration.
il faut donc déclarer un tableau de 0 chaines, passer la fonction AutomationParamètre (apTableauParValeur,Vrai) puis appeler la méthode avec la fonction ConstruitVariantAutomation comme le signalait DrCharly93. Je dois avouer que c est assez tendu à mettre en place.
Merci à tous
Bonne journée
Contribution le : 21/03/2007 15:17
|
|
Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.