Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

WD11 - 053p: iImprime() et paramètres

5 réponses
Avatar
I.G.LOG
Bonjour,

J'ai un problème un peu compliqué avec la fonction iImprime().
Je voudrais utiliser une fonction qui permet d'imprimer en passant jusqu'à 5
paramètres facultatifs, de n'importe quel type de variables
(objets,chaines...).

Voici le code que j'utilise :


PROCEDURE
ExecuteRapport(pParam1=Null,pParam2=Null,pParam3=Null,pParam4=Null,pParam5=N
ull)

// Procédure qui exécute l'impression
iImprimeEtat(pParam1,pParam2,pParam3,pParam4,pParam5)

RETOUR


// Dans le code initailisation de l'Etat
PROCEDURE Etat(pParam est un document)

...


// Test d'impression
ExecuteRapport(pDoc)



Quand j'exécute, j'ai l'erreur suivante quand je passe en pParam1 un objet:
"Le passage de paramètre 1 a provoqué une erreur. Un élément de type
Document ne peut être converti vers le type chaîne"

J'ai essayé en typant les pParam comme chaines (pParam1="",pParam2="",...),
ça fonctionne mieux (plus d'erreur ?!:), je peux passer en paramètre 1
l'objet,
mais l'état se fige !!! (pas d'impression). Bizarrement, si je rajoute un
deuxieme paramètre de type chaîne à l'état ( PROCEDURE Etat(pParam est un
document,pFiller="") ) , ça fonctionne.

Plus généralement, comment peut-on écrire une fonction générique
d'impression acceptant plusieurs paramètres de n'importe quel type ?

Merci à tous

5 réponses

Avatar
Pascal F
I.G.LOG a émis l'idée suivante :
Bonjour,

J'ai un problème un peu compliqué avec la fonction iImprime().
Je voudrais utiliser une fonction qui permet d'imprimer en passant jusqu'à 5
paramètres facultatifs, de n'importe quel type de variables
(objets,chaines...).

Voici le code que j'utilise :


PROCEDURE
ExecuteRapport(pParam1=Null,pParam2=Null,pParam3=Null,pParam4=Null,pParam5=N
ull)

// Procédure qui exécute l'impression
iImprimeEtat(pParam1,pParam2,pParam3,pParam4,pParam5)

RETOUR


// Dans le code initailisation de l'Etat
PROCEDURE Etat(pParam est un document)

...


// Test d'impression
ExecuteRapport(pDoc)



Quand j'exécute, j'ai l'erreur suivante quand je passe en pParam1 un objet:
"Le passage de paramètre 1 a provoqué une erreur. Un élément de type
Document ne peut être converti vers le type chaîne"

J'ai essayé en typant les pParam comme chaines (pParam1="",pParam2="",...),
ça fonctionne mieux (plus d'erreur ?!:), je peux passer en paramètre 1
l'objet,
mais l'état se fige !!! (pas d'impression). Bizarrement, si je rajoute un
deuxieme paramètre de type chaîne à l'état ( PROCEDURE Etat(pParam est un
document,pFiller="") ) , ça fonctionne.

Plus généralement, comment peut-on écrire une fonction générique
d'impression acceptant plusieurs paramètres de n'importe quel type ?

Merci à tous



peut être en typant tes variables en variant
ExecuteRapport(pParam1 est un variant=Null,pParam2 est un variant=Null,pParam3 est un variant=Null,pParam4 est un
variant=Null,pParam5 est un variant=Null)

--
Pascal

Ne garder que le prénom pour me joindre
Avatar
I.G.LOG
> peut être en typant tes variables en variant
ExecuteRapport(pParam1 est un variant=Null,pParam2 est un


variant=Null,pParam3 est un variant=Null,pParam4 est un
variant=Null,pParam5 est un variant=Null)



Bonjour,
Non, j'ai essayé sans succès.
Avatar
I.G.LOG
Il n'y a aucune solution ?
Avatar
mat
I.G.LOG wrote:
Il n'y a aucune solution ?






un seul paramètre concaténé et ExtraitChaîne dans l'état.
Avatar
I.G.LOG
>
un seul paramètre concaténé et ExtraitChaîne dans l'état.



Bonjour,
Mon problème est que je veux pouvoir passer un objet en paramètre; un objet
ou autres types pour pouvoir faire une fonction recevant n'importe quel type
de paramètre