// code
}
et que je fais l'instruction suivante
void TManipExcel::UpdateTab(TConventionsPratic& TabPratic, Variant* value,
int* Ligne, int* Column)
{
TabPratic[Ligne].CODE_COMMUNE=*vValue;
}
bcb me dit [C++ Erreur] TManipExcel.cpp(255): E2094 'operator+' non
implémenté dans le type 'TConventionsPratic' pour les arguments de type 'int
*'
et la je suis perdu que faire ?
Pourquoi int* pour Ligne et Column à la place de int ? Tu vas modifier les valeurs de Lignes et Column ? C'est pas trop recommandé si tu fais ton appel dans une boucle (comme c'est le cas plus bas)
for(int Ligne=1;Ligne<=nbLignes;Ligne++){ Je ne sais pas si les lignes commencent à 1 ou à 0, mais pour ne pas
s'emeller les pinceaux avec les vrais tableaux, je pense qu'ils ont adopté la même convention que partout ailleur en C++ (Je me trompe? Ce serait bête que ce ne soit pas le cas) Alors vérifie bien que ligne et col sont dans [1..nbLignes] ou [0..nbLignes-1].
for(int Col=1;Col<=nbColumns;Col++){ vCell=vWorksheet.OlePropertyGet("Cells",Ligne,Col); Qu'est ce que vCell ? J'aurais plutôt tendance à le déclarer à
l'intérieur la boucle (Convention qu'adoptent la majorité des codeurs c++)...
// code } Est ce que tu effaces pTab (delete) ? Ou bien est ce que quelqu'un s'en
charge pour toi ?
et que je fais l'instruction suivante void TManipExcel::UpdateTab(TConventionsPratic& TabPratic, Variant* value, int* Ligne, int* Column) { TabPratic[Ligne].CODE_COMMUNE=*vValue; } Il y a encore quelquechose d'étrange : pTab est un pointeur...
Pourquoi faire passer la valeur pointée par pTab pointé (*pTab) par référence ? Tu pourrais y aller directement : TConventionsPratic* TabPratic Je ne suis pas sûr que tu es le droit de faire TabPratic[Ligne]... A moins que l'opérateur[] soit déclaré dans TConventionsPratic...
bcb me dit [C++ Erreur] TManipExcel.cpp(255): E2094 'operator+' non implémenté dans le type 'TConventionsPratic' pour les arguments de type 'int *' On ne voit pas où apparait cet operateur
et la je suis perdu que faire ?
Pour résumer, je ferais plutôt
void TManipExcel::UpdateTab(TConventionsPratic* TabPratic, Variant& value, int Ligne, int Column);
void TManipExcel::UpdateTab(TConventionsPratic* TabPratic, Variant& value, int Ligne, int Column) { TabPratic[Ligne].CODE_COMMUNE=*vValue; }
-- -------------------------------------------- Benoît Rousseau : roussebe at spray dot se Jouez en programmant : http://realtimebattle.sourceforge.net/
Pourquoi int* pour Ligne et Column à la place de int ? Tu vas modifier
les valeurs de Lignes et Column ?
C'est pas trop recommandé si tu fais ton appel dans une boucle (comme
c'est le cas plus bas)
for(int Ligne=1;Ligne<=nbLignes;Ligne++){
Je ne sais pas si les lignes commencent à 1 ou à 0, mais pour ne pas
s'emeller les pinceaux avec les vrais tableaux, je pense qu'ils ont
adopté la même convention que partout ailleur en C++ (Je me trompe? Ce
serait bête que ce ne soit pas le cas)
Alors vérifie bien que ligne et col sont dans [1..nbLignes] ou
[0..nbLignes-1].
for(int Col=1;Col<=nbColumns;Col++){
vCell=vWorksheet.OlePropertyGet("Cells",Ligne,Col);
Qu'est ce que vCell ? J'aurais plutôt tendance à le déclarer à
l'intérieur la boucle (Convention qu'adoptent la majorité des codeurs
c++)...
// code
}
Est ce que tu effaces pTab (delete) ? Ou bien est ce que quelqu'un s'en
charge pour toi ?
et que je fais l'instruction suivante
void TManipExcel::UpdateTab(TConventionsPratic& TabPratic, Variant* value,
int* Ligne, int* Column)
{
TabPratic[Ligne].CODE_COMMUNE=*vValue;
}
Il y a encore quelquechose d'étrange : pTab est un pointeur...
Pourquoi faire passer la valeur pointée par pTab pointé (*pTab) par
référence ?
Tu pourrais y aller directement : TConventionsPratic* TabPratic
Je ne suis pas sûr que tu es le droit de faire TabPratic[Ligne]... A
moins que l'opérateur[] soit déclaré dans TConventionsPratic...
bcb me dit [C++ Erreur] TManipExcel.cpp(255): E2094 'operator+' non
implémenté dans le type 'TConventionsPratic' pour les arguments de type 'int
*'
On ne voit pas où apparait cet operateur
et la je suis perdu que faire ?
Pour résumer, je ferais plutôt
void TManipExcel::UpdateTab(TConventionsPratic* TabPratic,
Variant& value,
int Ligne, int Column);
void TManipExcel::UpdateTab(TConventionsPratic* TabPratic,
Variant& value,
int Ligne, int Column)
{
TabPratic[Ligne].CODE_COMMUNE=*vValue;
}
--
--------------------------------------------
Benoît Rousseau : roussebe at spray dot se
Jouez en programmant : http://realtimebattle.sourceforge.net/
Pourquoi int* pour Ligne et Column à la place de int ? Tu vas modifier les valeurs de Lignes et Column ? C'est pas trop recommandé si tu fais ton appel dans une boucle (comme c'est le cas plus bas)
for(int Ligne=1;Ligne<=nbLignes;Ligne++){ Je ne sais pas si les lignes commencent à 1 ou à 0, mais pour ne pas
s'emeller les pinceaux avec les vrais tableaux, je pense qu'ils ont adopté la même convention que partout ailleur en C++ (Je me trompe? Ce serait bête que ce ne soit pas le cas) Alors vérifie bien que ligne et col sont dans [1..nbLignes] ou [0..nbLignes-1].
for(int Col=1;Col<=nbColumns;Col++){ vCell=vWorksheet.OlePropertyGet("Cells",Ligne,Col); Qu'est ce que vCell ? J'aurais plutôt tendance à le déclarer à
l'intérieur la boucle (Convention qu'adoptent la majorité des codeurs c++)...
// code } Est ce que tu effaces pTab (delete) ? Ou bien est ce que quelqu'un s'en
charge pour toi ?
et que je fais l'instruction suivante void TManipExcel::UpdateTab(TConventionsPratic& TabPratic, Variant* value, int* Ligne, int* Column) { TabPratic[Ligne].CODE_COMMUNE=*vValue; } Il y a encore quelquechose d'étrange : pTab est un pointeur...
Pourquoi faire passer la valeur pointée par pTab pointé (*pTab) par référence ? Tu pourrais y aller directement : TConventionsPratic* TabPratic Je ne suis pas sûr que tu es le droit de faire TabPratic[Ligne]... A moins que l'opérateur[] soit déclaré dans TConventionsPratic...
bcb me dit [C++ Erreur] TManipExcel.cpp(255): E2094 'operator+' non implémenté dans le type 'TConventionsPratic' pour les arguments de type 'int *' On ne voit pas où apparait cet operateur
et la je suis perdu que faire ?
Pour résumer, je ferais plutôt
void TManipExcel::UpdateTab(TConventionsPratic* TabPratic, Variant& value, int Ligne, int Column);
void TManipExcel::UpdateTab(TConventionsPratic* TabPratic, Variant& value, int Ligne, int Column) { TabPratic[Ligne].CODE_COMMUNE=*vValue; }
-- -------------------------------------------- Benoît Rousseau : roussebe at spray dot se Jouez en programmant : http://realtimebattle.sourceforge.net/