Pb lors de modification de valeur d'attribut d'une classe.
Bonjour,
J'ai un pb dans le programme suivant sous Borland C++ 6 :
voici ma classe
Code:
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
|
enum objectType {big = 1, small, thin};
class Classification
{
public :
Classification(void);
Classification(std::string FileName);
~Classification(void);
void saveToFiles(std::string FileName);
bool isLocked;
bool useOnlyKnn;
bool useOnlySom;
bool useBoth;
void learn(void);
void updateClass(void);
std::vector<float> *example;
std::vector<float> *test;
objectType knnClass;
objectType som1Class;
objectType som2Class;
objectType finalClass;
objectType obj;
private :
bool knnEmpty;
SOM *som1;
SOM *som2;
Knn *knn;
}; |
et le .h qui contient le formulaire :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
les entetes qu'il faut
Classification *myClass = new Classification();
class TMainForm : public TForm
{
les elements pour la GUI
}; |
j'ai un pb lorsque j'execute cette methode :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
void __fastcall TMainForm::SmallObjectClick(TObject *Sender)
{
if(SmallObject->Checked)
{
myClass->obj = small;
BigObject->Checked = false;
ThinObject->Checked = false;
}
if(!BigObject->Checked && !ThinObject->Checked)
SmallObject->Checked = true;
} |
Quand j'inspecte mon objet myClass, avant la ligne
Code:
myClass->obj = small;
tout est bon (l'objet a bien ete initialise)
mais apres, myClass->obj n'est pas modifie, mais c'est myClass->knn (qui est un pointeur) qui prend la valeur small (ici, small = 2, voir la def de l'enumeration.)
Ou est-ce que ca peche????
Merci de m'aider
(Est-ce un pb parce que j'ai defini ma classe en dehors de TMainForm ????)