en fait j'ai tout traduit, le programme s'execute sans plantage , mais
je n'ai pas le resultat escompte. Du coup je mets en doute la variable
que je passe a mon ActiveX.
Donc ma question est : comment dois-je typer ma variable TempVariant en
windev et la passer ?
Donc ma question est : comment dois-je typer ma variable TempVariant en windev et la passer ?
Il faut voir ailleurs dans le code (le .h ?) comment le "type" TempVariant est défini (une struct ou union avec typedef probablement).
A+
-- Romain PETIT http://cerbermail.com/?O16kfXOFcq (cliquez sur le lien ci-dessus pour me contacter en privé)
MMoreno
Aïe, j'ai plus ou moins trouve : le probleme ne vient pas du typage. Mon probleme vient du fait que dans la chaine que je passe , j'ai des caracteres "Null", et apparement, ce serait windev qui ne m'envoie pas tout. Du coup je ne sais pas comment la definir (j'ai essaye tous les types de chaine)
En tout cas , merci de ta reponse.
Cordialement, Michel
Aïe, j'ai plus ou moins trouve : le probleme ne vient pas du typage.
Mon probleme vient du fait que dans la chaine que je passe , j'ai des
caracteres "Null", et apparement, ce serait windev qui ne m'envoie pas
tout.
Du coup je ne sais pas comment la definir (j'ai essaye tous les types
de chaine)
Aïe, j'ai plus ou moins trouve : le probleme ne vient pas du typage. Mon probleme vient du fait que dans la chaine que je passe , j'ai des caracteres "Null", et apparement, ce serait windev qui ne m'envoie pas tout. Du coup je ne sais pas comment la definir (j'ai essaye tous les types de chaine)
En tout cas , merci de ta reponse.
Cordialement, Michel
Romain PETIT
MMoreno a présenté l'énoncé suivant :
Du coup je ne sais pas comment la definir (j'ai essaye tous les types de chaine)
A mon avis, ce n'est pas une chaine, c'est une structure dont tu as besoin. Recherche dans le code c (c++ ?) où se trouve la définition de _variant_t
Un truc du genre : typedef union { double a; int b; ... }_variant_t;
ou encore : typedef struct { double a; int b; ... }_variant_t;
et utilise le type structure en WD.
A+
-- Romain PETIT http://cerbermail.com/?O16kfXOFcq (cliquez sur le lien ci-dessus pour me contacter en privé)
MMoreno a présenté l'énoncé suivant :
Du coup je ne sais pas comment la definir (j'ai essaye tous les types
de chaine)
A mon avis, ce n'est pas une chaine, c'est une structure dont tu as
besoin.
Recherche dans le code c (c++ ?) où se trouve la définition de
_variant_t
Un truc du genre :
typedef union {
double a;
int b;
...
}_variant_t;
ou encore :
typedef struct {
double a;
int b;
...
}_variant_t;
et utilise le type structure en WD.
A+
--
Romain PETIT
http://cerbermail.com/?O16kfXOFcq
(cliquez sur le lien ci-dessus pour me contacter en privé)
Du coup je ne sais pas comment la definir (j'ai essaye tous les types de chaine)
A mon avis, ce n'est pas une chaine, c'est une structure dont tu as besoin. Recherche dans le code c (c++ ?) où se trouve la définition de _variant_t
Un truc du genre : typedef union { double a; int b; ... }_variant_t;
ou encore : typedef struct { double a; int b; ... }_variant_t;
et utilise le type structure en WD.
A+
-- Romain PETIT http://cerbermail.com/?O16kfXOFcq (cliquez sur le lien ci-dessus pour me contacter en privé)
elecoest
_variant_t est une super structure type variant avec plein de membres :). En gros tu mets dedans un résultat et ensuite si c'est une chaine tu exploites la partie "parray".
Pour moi tu n'y arriveras pas en WinDev. Mais c'est vrai que devant ce type de problème j'ai toujours cherché la solution de facilité en passant par une dll plutot que de m'amuser avec des déclaration de structures en WinDev :) Si tu as besoin d'aide pour faire ta dll tu sais où me trouver.
_variant_t est une super structure type variant avec plein de membres
:). En gros tu mets dedans un résultat et ensuite si c'est une chaine
tu exploites la partie "parray".
Pour moi tu n'y arriveras pas en WinDev. Mais c'est vrai que devant ce
type de problème j'ai toujours cherché la solution de facilité en
passant par une dll plutot que de m'amuser avec des déclaration de
structures en WinDev :) Si tu as besoin d'aide pour faire ta dll tu
sais où me trouver.
_variant_t est une super structure type variant avec plein de membres :). En gros tu mets dedans un résultat et ensuite si c'est une chaine tu exploites la partie "parray".
Pour moi tu n'y arriveras pas en WinDev. Mais c'est vrai que devant ce type de problème j'ai toujours cherché la solution de facilité en passant par une dll plutot que de m'amuser avec des déclaration de structures en WinDev :) Si tu as besoin d'aide pour faire ta dll tu sais où me trouver.
MMoreno
Merci de vos reponses Romain et Emmanuel
Mais mon probleme est bien de transferer la chaine complete
en fait je dois passer 1 chaine de 84 caracteres a l'activeX
certains d'eux peuvent avoir comme valeur caract(0) et j'ai l'impression ke windev tronque
je suis pas tres clair , donc 1 exemple
machaine = repete(caract(1),84)
ActiveX>>Envoie(Machaine) => en sortie j'ai bien 84 fois caract(1)
si machaine = repete(caract(1),30)+caract(0)+caract(53)
ActiveX>>Envoie(Machaine) => en sortie je n'ai plus que 30 caracteres
si je fais : ActiveX>>Envoie(complete(Machaine,84)) => en sortie je n'ai plus que 30 carac(1)+54 caract(20) (Espaces)
mon probleme donc , comment je peux envoyer ma chaine complete ?
Merci
Michel
Merci de vos reponses Romain et Emmanuel
Mais mon probleme est bien de transferer la chaine complete
en fait je dois passer 1 chaine de 84 caracteres a l'activeX
certains d'eux peuvent avoir comme valeur caract(0) et j'ai
l'impression ke windev tronque
je suis pas tres clair , donc 1 exemple
machaine = repete(caract(1),84)
ActiveX>>Envoie(Machaine) => en sortie j'ai bien 84 fois caract(1)
si machaine = repete(caract(1),30)+caract(0)+caract(53)
ActiveX>>Envoie(Machaine) => en sortie je n'ai plus que 30 caracteres
si je fais :
ActiveX>>Envoie(complete(Machaine,84)) => en sortie je n'ai plus que
30 carac(1)+54 caract(20) (Espaces)
mon probleme donc , comment je peux envoyer ma chaine complete ?
mon probleme donc , comment je peux envoyer ma chaine complete ?
Il me semble qu'il a maintenant un type de variable Buffer en WD (> 7.5), essaye avec ça ("Buffer fixe" à priori)
Sinon, il te suffira d'utiliser un "tableau de x entiers sans signe sur 1 octet" et de le remplir octet par octet.
A+
-- Romain PETIT http://cerbermail.com/?O16kfXOFcq (cliquez sur le lien ci-dessus pour me contacter en privé)
MMoreno
Ja'i essaye aussi avec le type buffer, mais le probleme intervient apres Windev indique que ce type de champ ne peut pas servir pour OleAutomation => Plantage
Avec le tableau non plus ......
Mais c'est bon , j'ai trouve 1 contournement a 2 balles, ça fait bidouillage pourri, mais ca fonctionne. (en fait ce que je fais , j'ecris ma chaine ds 1 fichier texte (et la ,tiens , windev tronque pas), et j'ai essaye une ActiveX>>Envoie(fchargetexte(monfichier)) , ca marchait pas, alors j'ai utilise 1 autre commande de l'activex , qui lit ce fichier et renvoie le contenu sous forme de variant, et la miracle , ca marche (ActiveX>>Envoie(ActiveX>>rawDataAsVariant("MonFichier))) Youpi, je vais pouvoir passer le week end sans deprimer
En tout cas , 1000 merci pour m'avoir consacre de votre temps.
Michel
Ja'i essaye aussi avec le type buffer, mais le probleme intervient
apres
Windev indique que ce type de champ ne peut pas servir pour
OleAutomation => Plantage
Avec le tableau non plus ......
Mais c'est bon , j'ai trouve 1 contournement a 2 balles, ça fait
bidouillage pourri, mais ca fonctionne.
(en fait ce que je fais , j'ecris ma chaine ds 1 fichier texte (et la
,tiens , windev tronque pas), et j'ai essaye une
ActiveX>>Envoie(fchargetexte(monfichier)) , ca marchait pas, alors j'ai
utilise 1 autre commande de l'activex , qui lit ce fichier et renvoie
le contenu sous forme de variant, et la miracle , ca marche
(ActiveX>>Envoie(ActiveX>>rawDataAsVariant("MonFichier)))
Youpi, je vais pouvoir passer le week end sans deprimer
En tout cas , 1000 merci pour m'avoir consacre de votre temps.
Ja'i essaye aussi avec le type buffer, mais le probleme intervient apres Windev indique que ce type de champ ne peut pas servir pour OleAutomation => Plantage
Avec le tableau non plus ......
Mais c'est bon , j'ai trouve 1 contournement a 2 balles, ça fait bidouillage pourri, mais ca fonctionne. (en fait ce que je fais , j'ecris ma chaine ds 1 fichier texte (et la ,tiens , windev tronque pas), et j'ai essaye une ActiveX>>Envoie(fchargetexte(monfichier)) , ca marchait pas, alors j'ai utilise 1 autre commande de l'activex , qui lit ce fichier et renvoie le contenu sous forme de variant, et la miracle , ca marche (ActiveX>>Envoie(ActiveX>>rawDataAsVariant("MonFichier))) Youpi, je vais pouvoir passer le week end sans deprimer
En tout cas , 1000 merci pour m'avoir consacre de votre temps.
Michel
marcel
salut!
On 17-Feb-2006, "MMoreno" wrote:
Ja'i essaye aussi avec le type buffer, mais le probleme intervient apres Windev indique que ce type de champ ne peut pas servir pour OleAutomation => Plantage
Avec le tableau non plus ......
Mais c'est bon , j'ai trouve 1 contournement a 2 balles, ça fait bidouillage pourri, mais ca fonctionne. (en fait ce que je fais , j'ecris ma chaine ds 1 fichier texte (et la ,tiens , windev tronque pas), et j'ai essaye une ActiveX>>Envoie(fchargetexte(monfichier)) , ca marchait pas, alors j'ai utilise 1 autre commande de l'activex , qui lit ce fichier et renvoie le contenu sous forme de variant, et la miracle , ca marche (ActiveX>>Envoie(ActiveX>>rawDataAsVariant("MonFichier))) Youpi, je vais pouvoir passer le week end sans deprimer
En tout cas , 1000 merci pour m'avoir consacre de votre temps.
Michel
Pourquoi,alors, ne pas mettre ta chaine dans un variant WD que tu transmets à ton activeX ? Ce serait quand même plus propre que ton fichier texte ...
A+
-- Marcel Berman Membre de WindAsso (coté belge !)
salut!
On 17-Feb-2006, "MMoreno" <mmoreno@altern.org> wrote:
Ja'i essaye aussi avec le type buffer, mais le probleme intervient
apres
Windev indique que ce type de champ ne peut pas servir pour
OleAutomation => Plantage
Avec le tableau non plus ......
Mais c'est bon , j'ai trouve 1 contournement a 2 balles, ça fait
bidouillage pourri, mais ca fonctionne.
(en fait ce que je fais , j'ecris ma chaine ds 1 fichier texte (et la
,tiens , windev tronque pas), et j'ai essaye une
ActiveX>>Envoie(fchargetexte(monfichier)) , ca marchait pas, alors j'ai
utilise 1 autre commande de l'activex , qui lit ce fichier et renvoie
le contenu sous forme de variant, et la miracle , ca marche
(ActiveX>>Envoie(ActiveX>>rawDataAsVariant("MonFichier)))
Youpi, je vais pouvoir passer le week end sans deprimer
En tout cas , 1000 merci pour m'avoir consacre de votre temps.
Michel
Pourquoi,alors, ne pas mettre ta chaine dans un variant WD que tu transmets
à ton activeX ?
Ce serait quand même plus propre que ton fichier texte ...
A+
--
Marcel Berman
Membre de WindAsso (coté belge !)
Ja'i essaye aussi avec le type buffer, mais le probleme intervient apres Windev indique que ce type de champ ne peut pas servir pour OleAutomation => Plantage
Avec le tableau non plus ......
Mais c'est bon , j'ai trouve 1 contournement a 2 balles, ça fait bidouillage pourri, mais ca fonctionne. (en fait ce que je fais , j'ecris ma chaine ds 1 fichier texte (et la ,tiens , windev tronque pas), et j'ai essaye une ActiveX>>Envoie(fchargetexte(monfichier)) , ca marchait pas, alors j'ai utilise 1 autre commande de l'activex , qui lit ce fichier et renvoie le contenu sous forme de variant, et la miracle , ca marche (ActiveX>>Envoie(ActiveX>>rawDataAsVariant("MonFichier))) Youpi, je vais pouvoir passer le week end sans deprimer
En tout cas , 1000 merci pour m'avoir consacre de votre temps.
Michel
Pourquoi,alors, ne pas mettre ta chaine dans un variant WD que tu transmets à ton activeX ? Ce serait quand même plus propre que ton fichier texte ...
A+
-- Marcel Berman Membre de WindAsso (coté belge !)