Bonjour,
J'essaie désespérément d'accéder à certains éléments de l'assemblage .NET (débutante en POO)
Celui-ci a bien été intégrer à mon projet WinDev, et je peux accéder à certains membres et fonctions.
Mais lorsque la fonction retourne comme valeur un tableau, impossible de récupérer ces données.
Pouvez-vous me dire si cela est possible, et comment y accéder?
Voici la description de la classe .NET que j'utilise:
et la fonction qui me permet de récupérer la liste des sports (getSports():BfSport()) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 ComClass tabIndex : entier refreshRate : réel marketId(entier) startTime(dateheure) keepBetType : entier includeNonRunners : booléen baVersion(chaîne UNICODE) marketName(chaîne UNICODE) pricesUpdated : ComClass.pricesUpdatedEventHandler betPlaced : ComClass.betPlacedEventHandler getMarketDepthComplete : ComClass.getMarketDepthCompleteEventHandler getAllTradedVolumeComplete : ComClass.getAllTradedVolumeCompleteEventHandler soccerScoresUpdated : ComClass.soccerScoresUpdatedEventHandler
Or, d'après la notice de l'assemblage .NET que j'utilise, getSports retourne une liste de sports dans un tableau d'objets BfSport (qui apparait bien dans la liste des éléments de mon assemblage .NET).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Procédure locale getSports () // getSports // Valeur de retour : // tableau [ <Résultat> = ] getSports ()
Voici la description de l'objet BfSport:
J'ai lu dans l'aide WinDev que "Les tableaux d'objets ne sont pas gérés dans cette version", suis-je dans ce cas?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 sport string name of sport sportId integer id number of sport
Voici le code que j'utilise actuellement:
J'obtiens bien 37 lignes dans ma table, mais vierges!
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
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 gpclGclBA est ComClass LSports est une Structure spname est une chaîne spId est un entier FIN TabSports est un tableau 0 LSports gpclGclBA.refreshRate = 0.5 <-- FONCTIONNE gpclGclBA.includeNonRunners = False <-- FONCTIONNE FEN_test.LIB_Balance = gpclGclBA.getBalance(1).availBalance <-- FONCTIONNE TabSports = gpclGclBA.getSports() j=TableauOccurrence(TabSports) Trace("tableau occu: " + j) <-- RETOURNE 37 k=TableauInfo(TabSports,tiNombreColonnes) Trace("nb colonnes: " + k) <-- RETOURNE 0 k=TableauInfo(TabSports,tiNombreLignes) Trace("nb lignes: " + k) <-- RETOURNE 0 k=TableauInfo(TabSports,tiNombreTotal) Trace("nb total: " + k) <-- RETOURNE 37 k=TableauInfo(TabSports,tiNombreDimensions) Trace("nb dim: " + k) <-- RETOURNE 1 k=TableauInfo(TabSports,tiDimension,1) Trace("nb elem. dim 1: " + k) <-- RETOURNE 37 k=TableauInfo(TabSports,tiTailleTotale) Trace("taille totale: " + k) <-- RETOURNE 148 k=TableauInfo(TabSports,tiTypeClé) Trace("type clé: " + k) <-- RETOURNE 0 k=TableauInfo(TabSports,tiTypeElément) Trace("type élément: " + k) <-- RETOURNE 72 (à quoi correspond 72?) POUR CHAQUE x DE Tabsports TableAjouteLigne(TABLE_Races, x) FIN
J'ai également essayé en déclarant d'une autre manière mon tableau:
... mais rien n'y fait!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Tabsports est un tableau dynamique Tabsports = allouer un tableau de 40 chaînes
Et si je modifie ma ligne comme suit:
Il s'agit là d'un point crucial pour mon projet , merci pour toute l'aide que vous pourriez m'apporter.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 TableAjouteLigne(TABLE_Races, x.spname) --> j'obtiens un message d'erreur à l'exécution: "Opération interdite sur un objet .NET" ...et avec des paranthèses: TableAjouteLigne(TABLE_Races, (x.spname)) --> j'obtiens un AUTRE message d'erreur à l'exécution: "L'instance de la classe courante a été libérée."
Merci par avance.
Cordialement,
Laurence.
Partager