OVH Cloud OVH Cloud

classe et indirection ?

6 réponses
Avatar
ronando29
j'ai une classe C_test

dans le code de mon projet j'ai :
GC_test est une C_test


J'ai une erreur =E0 l'=E9xecution de ce code

{GC_test:SQLLitCol("REQC",1)}=3D"voiture"

J'essaye d'utiliser les indirections.
SQLLitCol("REQC",1) correspond =E0 un membre de la classe qui existe
bien mais l'erreur retourn=E9e est : "L'=E9l=E9ment 'GC_test:NUMADH' est
inconnu."

Alors que NUMADH qui est la valeur contenu dans mon SQLLitCol existe
bel et bien..

Je dois mal utiliser les crochets.. Si quelqu'un peut m'aider ? Merci

6 réponses

Avatar
Pascal F
vient de nous annoncer :
j'ai une classe C_test

dans le code de mon projet j'ai :
GC_test est une C_test


J'ai une erreur à l'éxecution de ce code

{GC_test:SQLLitCol("REQC",1)}="voiture"

J'essaye d'utiliser les indirections.
SQLLitCol("REQC",1) correspond à un membre de la classe qui existe
bien mais l'erreur retournée est : "L'élément 'GC_test:NUMADH' est
inconnu."

Alors que NUMADH qui est la valeur contenu dans mon SQLLitCol existe
bel et bien..

Je dois mal utiliser les crochets.. Si quelqu'un peut m'aider ? Merci


{"GC_test:"+SQLLitCol("REQC",1),indVariable}="voiture" ?

--
Pascal

Ne garder que le prénom pour me joindre
Avatar
Firetox
bonjour,

l'indirection sr les membre d'une classe est impossible
le seule moyen est de passer par la compilation dynamique

bon dev
@+

a écrit dans le message de news:

j'ai une classe C_test

dans le code de mon projet j'ai :
GC_test est une C_test


J'ai une erreur à l'éxecution de ce code

{GC_test:SQLLitCol("REQC",1)}="voiture"

J'essaye d'utiliser les indirections.
SQLLitCol("REQC",1) correspond à un membre de la classe qui existe
bien mais l'erreur retournée est : "L'élément 'GC_test:NUMADH' est
inconnu."

Alors que NUMADH qui est la valeur contenu dans mon SQLLitCol existe
bel et bien..

Je dois mal utiliser les crochets.. Si quelqu'un peut m'aider ? Merci
Avatar
Vbig
Firetox a écrit :
bonjour,

l'indirection sr les membre d'une classe est impossible
le seule moyen est de passer par la compilation dynamique



Oui et non.
Il est également possible de générer une méthode

MtDonneValeurMembre(PNomMembre)
selon PnomMembre
cas "membre1" : renvoyer :membre1
cas "membre2" : renvoyer :membre2
...
autres cas : stop;erreur("Membre inconnu");renvoyer ""
fin


Moins 'dynamique', oblige de modifier la methode lors de l'ajout de
membre à l'objet mais plus rapide à l'execution que la compile
dynamique.


bon dev
@+

a écrit dans le message de news:

j'ai une classe C_test

dans le code de mon projet j'ai :
GC_test est une C_test


J'ai une erreur à l'éxecution de ce code

{GC_test:SQLLitCol("REQC",1)}="voiture"

J'essaye d'utiliser les indirections.
SQLLitCol("REQC",1) correspond à un membre de la classe qui existe
bien mais l'erreur retournée est : "L'élément 'GC_test:NUMADH' est
inconnu."

Alors que NUMADH qui est la valeur contenu dans mon SQLLitCol existe
bel et bien..

Je dois mal utiliser les crochets.. Si quelqu'un peut m'aider ? Merci


Avatar
ronando29
Vbig j'essaye d'utiliser ta méthode (la compilation dynamique jamais
fait..)


GC_test:MtDonneValeurMembre(SQLLitCol("REQC",1))

Mais comment lui affecter la valeur "voiture" ?
car ce code ne fonctionne pas (normal..) :
GC_test:MtDonneValeurMembre(SQLLitCol("REQC",1)) = "voiture"





Vbig wrote:
Firetox a écrit :
> bonjour,
>
> l'indirection sr les membre d'une classe est impossible
> le seule moyen est de passer par la compilation dynamique

Oui et non.
Il est également possible de générer une méthode

MtDonneValeurMembre(PNomMembre)
selon PnomMembre
cas "membre1" : renvoyer :membre1
cas "membre2" : renvoyer :membre2
...
autres cas : stop;erreur("Membre inconnu");renvoyer ""
fin


Moins 'dynamique', oblige de modifier la methode lors de l'ajout de
membre à l'objet mais plus rapide à l'execution que la compile
dynamique.

>
> bon dev
> @+
>
> a écrit dans le message de news:
>
> j'ai une classe C_test
>
> dans le code de mon projet j'ai :
> GC_test est une C_test
>
>
> J'ai une erreur à l'éxecution de ce code
>
> {GC_test:SQLLitCol("REQC",1)}="voiture"
>
> J'essaye d'utiliser les indirections.
> SQLLitCol("REQC",1) correspond à un membre de la classe qui existe
> bien mais l'erreur retournée est : "L'élément 'GC_test:NUMADH' est
> inconnu."
>
> Alors que NUMADH qui est la valeur contenu dans mon SQLLitCol existe
> bel et bien..
>
> Je dois mal utiliser les crochets.. Si quelqu'un peut m'aider ? Merci


Avatar
Vbig
Dans son message précédent, a écrit :
Vbig j'essaye d'utiliser ta méthode (la compilation dynamique jamais
fait..)


GC_test:MtDonneValeurMembre(SQLLitCol("REQC",1))

Mais comment lui affecter la valeur "voiture" ?
car ce code ne fonctionne pas (normal..) :
GC_test:MtDonneValeurMembre(SQLLitCol("REQC",1)) = "voiture"





La methode que j'ai montré pour exmple renvoi la valeur du membre.
Il faut faire un autre methode pour initialiser la valeur,
du genre :
MtSetValeurMembre(PNomMembre,PNewVal)
selon PnomMembre
cas "membre1" : :membre1=pnewval
cas "membre2" : :membre2=pnewval
...
autres cas : stop;erreur("Membre inconnu");renvoyer faux
fin
renvoyer vrai





Vbig wrote:
Firetox a écrit :
bonjour,

l'indirection sr les membre d'une classe est impossible
le seule moyen est de passer par la compilation dynamique



Oui et non.
Il est également possible de générer une méthode

MtDonneValeurMembre(PNomMembre)
selon PnomMembre
cas "membre1" : renvoyer :membre1
cas "membre2" : renvoyer :membre2
...
autres cas : stop;erreur("Membre inconnu");renvoyer ""
fin


Moins 'dynamique', oblige de modifier la methode lors de l'ajout de
membre à l'objet mais plus rapide à l'execution que la compile
dynamique.





Avatar
ronando29
Ok merci Vbig je comprends mieux ;)


Vbig wrote:
Dans son message précédent, a écrit :
> Vbig j'essaye d'utiliser ta méthode (la compilation dynamique jamais
> fait..)
>
>
> GC_test:MtDonneValeurMembre(SQLLitCol("REQC",1))
>
> Mais comment lui affecter la valeur "voiture" ?
> car ce code ne fonctionne pas (normal..) :
> GC_test:MtDonneValeurMembre(SQLLitCol("REQC",1)) = "voiture"
>
>
>
La methode que j'ai montré pour exmple renvoi la valeur du membre.
Il faut faire un autre methode pour initialiser la valeur,
du genre :
MtSetValeurMembre(PNomMembre,PNewVal)
selon PnomMembre
cas "membre1" : :membre1=pnewval
cas "membre2" : :membre2=pnewval
...
autres cas : stop;erreur("Membre inconnu");renvoyer faux
fin
renvoyer vrai



>
>
> Vbig wrote:
>> Firetox a écrit :
>>> bonjour,
>>>
>>> l'indirection sr les membre d'une classe est impossible
>>> le seule moyen est de passer par la compilation dynamique
>>
>> Oui et non.
>> Il est également possible de générer une méthode
>>
>> MtDonneValeurMembre(PNomMembre)
>> selon PnomMembre
>> cas "membre1" : renvoyer :membre1
>> cas "membre2" : renvoyer :membre2
>> ...
>> autres cas : stop;erreur("Membre inconnu");renvoyer ""
>> fin
>>
>>
>> Moins 'dynamique', oblige de modifier la methode lors de l'ajout de
>> membre à l'objet mais plus rapide à l'execution que la compile
>> dynamique.
>>