IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Soucis de destructeur


Sujet :

C++

  1. #1
    Membre confirm�
    Homme Profil pro
    Ing�nieur d�veloppement mat�riel �lectronique
    Inscrit en
    Janvier 2012
    Messages
    68
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 34
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement mat�riel �lectronique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2012
    Messages : 68
    Par d�faut Soucis de destructeur
    Bonsoir,

    J'ai r�alis� une classe pour permettant de manipuler des "polyn�mes"
    Quand test mon constructeur par d�faut, tout ce passe bien.. Mais quand j�appelle ma fonction "create_empty_polynom()", le soft plante au moment du destructeur...
    J'ai tout v�rifier, comparer avec mes anciens projet similaire, mais je ne trouve pas d�o� �a peut venir...

    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    #include "stdafx.h"
    #include "Polynom.h"
     
     
    //### PUBLIC ####################################################################
    //###############################################################################
     
    //_______________________________________________________________________________
    // CONSTRUCTOR
     
    Polynom::Polynom():
    	deg(0)
    {
    	double* buffer = new double[deg+1];
    	buffer[0] = 0;
    	polynom = buffer;
    }
     
    Polynom::Polynom(unsigned int new_deg):
    	deg(new_deg)
    {
    	double* buffer = new double[deg+1];
    	for(unsigned int i=0; i<=deg; i++)
    	{
    		buffer[i] = 0;
    	}
    	polynom = buffer;
    }
     
    Polynom::Polynom(double new_value):
    	deg(0)
    {
    	double* buffer = new double[deg+1];
    	buffer[0] = new_value;
    	polynom = buffer;
    }
     
    Polynom::Polynom(const Polynom& CopyPolynom):
    	deg(CopyPolynom.get_deg())
    {
    	double* buffer = new double[deg+1];
     
    	for(unsigned int i=0; i<=deg; i++){
    		buffer[i] = CopyPolynom.get_polynom_element(i);
    	}
    	polynom = buffer;
    }
     
    Polynom::~Polynom()
    {
    	if (polynom != NULL)
    	{
    		std::cout << "Entry of Monster Destructor !!!!!!!!!!!!! ";
    		delete [] polynom;
    		std::cout << "Exit of Monster Destructor !!!!!!!!!!!!!!";
    	}
    }
     
    //_______________________________________________________________________________
    // GET/SET
     
    unsigned int Polynom::get_deg() const
    {
    	return deg;
    }
     
    void Polynom::set_deg(unsigned int new_deg)
    {
    	deg=new_deg;
    	create_empty_polynom(deg);
    }
     
    void Polynom::set_deg()
    {
    	std::cin >> deg;
    	create_empty_polynom(deg);
    }
     
    double Polynom::get_polynom_element(unsigned int index) const
    {
    	return polynom[index];
    }
     
    void Polynom::set_polynom_element(unsigned int index, double new_value)
    {
    	polynom[index] = new_value;
    }
     
    void Polynom::set_polynom_element()
    {
    	unsigned int index;
    	double new_value;
    	std::cout << std::endl << "Entrez le degres du coefficient: ";
    	std::cin >> index;
    	std::cout << std::endl << "Entrez la valeur du coefficient: ";
    	std::cin >> new_value;
    	polynom[index] = new_value;
    }
     
    double* Polynom::get_polynom() const
    {
    	double* buffer = new double[deg+1];
    	for(unsigned int i=0; i<=deg; i++)
    	{
    		buffer[i] = polynom[i];
    	}
    	return buffer;
    }
     
    void Polynom::set_polynom(const Polynom& CopyPolynom)
    {
    	deg = CopyPolynom.get_deg();
    	create_empty_polynom(deg);
    	for(unsigned int i=0; i<=deg; i++)
    	{
    		polynom[i] = CopyPolynom.get_polynom_element(i);
    	}
    }
     
    //_______________________________________________________________________________
    // METHOD
     
    void Polynom::fill_polynom()
    {
    	double value;
    	std::cout << std::endl << "C'est un polynome de degre(s) " << deg;
    	std::cout << std::endl;
    	view_polynom();
    	for(unsigned int i=0; i<=deg; i++)
    	{
    		std::cout << std::endl << "Rentrez la valeur du coefficient de degre " << i << std::endl;
    		std::cin >> value;
    		polynom[i] = value;
    		std::cout << std::endl;
    		view_polynom();
    	}
    	std::cout << std::endl << std::endl << "Polynome rempli.";
    }
     
    void Polynom::define_polynom()
    {
    	std::cout << "Entrez le degres du polynome: ";
    	set_deg();
    	fill_polynom();
    }
     
    void Polynom::create_empty_polynom(unsigned int new_deg)
    {
    	deg = new_deg;
    	double* buffer = new double[deg];
    	for(unsigned int i=0; i <=deg; i++)
    	{
    		buffer[i] = 0;
    	}
    	delete [] polynom;
    	polynom = buffer;
    }
     
    Polynom operator + (const Polynom& p1, const Polynom& p2)
    {
    	unsigned int tmp_deg;
    	if(p1.get_deg() < p2.get_deg())
    	{
    		tmp_deg = p2.get_deg();
    	} else {
    		tmp_deg = p1.get_deg();
    	}
    	Polynom tmp_pol(tmp_deg);
    	for(unsigned int i=0; i<=tmp_pol.get_deg(); i++)
    	{
    		tmp_pol.set_polynom_element(i, p1.get_polynom_element(i) + p2.get_polynom_element(i));
    	}
    	return tmp_pol;
    }
     
    Polynom operator - (const Polynom& p1, const Polynom& p2)
    {
    	unsigned int tmp_deg;
    	if(p1.get_deg() < p2.get_deg())
    	{
    		tmp_deg = p2.get_deg();
    	} else {
    		tmp_deg = p1.get_deg();
    	}
    	Polynom tmp_pol(tmp_deg);
    	for(unsigned int i=0; i<=tmp_pol.get_deg(); i++)
    	{
    		tmp_pol.set_polynom_element(i, p1.get_polynom_element(i) - p2.get_polynom_element(i));
    	}
    	return tmp_pol;
    }
     
    Polynom operator * (const Polynom& p1, const Polynom& p2)
    {
    	unsigned int tmp_deg = p1.get_deg() * p2.get_deg();
    	Polynom tmp_pol(tmp_deg);
     
    	for(unsigned int i=0; i<=p1.get_deg(); i++)
    	{
    		for(unsigned int j=0; j<=p2.get_deg(); j++)
    		{
    			tmp_pol.set_polynom_element(i+j, p1.get_polynom_element(i)*p2.get_polynom_element(j)+tmp_pol.get_polynom_element(i+j));
    		}
    	}
    	return tmp_pol;
    }
     
     
    void Polynom::operator = (const Polynom& p)
    {
    	if(this != &p)
    	{
    		deg = p.get_deg();
    		create_empty_polynom(deg);
    		for(unsigned int i=0; i<=deg; i++)
    		{
    			polynom[i] = p.get_polynom_element(i);
    		}
    	}
    }
     
    void Polynom::view_polynom() const
    {
    	std::cout << std::endl << "[";
    	for(unsigned int i=0; i<=deg; i++)
    	{
    		std::cout << " " << polynom[i] << " ";
    	}
    	std::cout << "]";
    }
     
    //### PROTECTED #################################################################
    //###############################################################################
     
    //### PRIVATE ###################################################################
    //###############################################################################
     
     
    void testPolynom()
    {
    	Polynom p;
    	std::cout << "Rentrez le nouveau degres du polynome: ";
    	p.create_empty_polynom(3);
    }

  2. #2
    Membre �m�rite

    Profil pro
    Inscrit en
    D�cembre 2008
    Messages
    533
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2008
    Messages : 533
    Par d�faut
    Ligne 150, double* buffer = new double[deg+1] ?

  3. #3
    Membre Expert
    Homme Profil pro
    Chercheur
    Inscrit en
    Mars 2010
    Messages
    1 218
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Chercheur

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 218
    Par d�faut
    Salut,

    il y a beaucoup de choses � revoir dans ton code, notamment au niveau de la gestion de la m�moire mais je pense que tu vas t'en rendre compte petit � petit en l'utilisant. En ce qui concerne plus pr�cis�ment ta question, je pense que le probl�me vient de
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    void Polynom::create_empty_polynom(unsigned int new_deg)
    {
    	deg = new_deg;
    	double* buffer = new double[deg];
    	for(unsigned int i=0; i <=deg; i++)
    	{
    		buffer[i] = 0;
    	}
    	delete [] polynom;
    	polynom = buffer;
    }
    o� tu alloues comme ceci
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    double* buffer = new double[deg];
    au lieu de le faire comme cela
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    double* buffer = new double[deg+1];

  4. #4
    Membre confirm�
    Homme Profil pro
    Ing�nieur d�veloppement mat�riel �lectronique
    Inscrit en
    Janvier 2012
    Messages
    68
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 34
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement mat�riel �lectronique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2012
    Messages : 68
    Par d�faut
    Cela venait bien de la... Ce sont les choses les plus simples qui me bloque souvent ^^

    Peut tu m'en dire un peu plus sur la mauvaise gestion de la m�moire ? Je d�bute, et je doit bien avou� que je ne sais pas trop comment faire =)

  5. #5
    Membre �m�rite

    Profil pro
    Inscrit en
    D�cembre 2008
    Messages
    533
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2008
    Messages : 533
    Par d�faut
    • polynom devrait �tre un std::vector, ce qui simplifierait immens�ment la gestion des "ressources dynamiques" que sont les coefficients du polyn�me. Tu n'aurais quasiment rien � faire dans les constructeurs/m�thodes/destructeur de Polynom � part rediriger vers std::vector, ce qui t'�pargnerait des SEGFAULT et des fuites m�moire.
    • C'est un tr�s mauvaise id�e de donner � Polynom(unsigned int) et Polynom(double) des objectifs aussi diff�rents. Si l'utilisateur fournit le mauvais type sans s'en rendre compte (exemple: via une fonction dont le type de retour n'est pas clair, ou via une expression 3/2 maladroitement interpr�t�e comme "double") alors le mauvais constructeur sera appel�, polynom n'aura pas la m�me taille, ce qui peut mener � un plantage dont l'origine est difficilement d�celable.
    • L'utilisation de std::cin std::cout dans Polynom ne me parait peut-�tre pas judicieuse d'un point de vue conception... En tant qu'utilisateur j'aurais moyennement envie que Polynom tripatouille d'elle-m�me mes Entr�es/Sorties, � choisir je passerais plut�t mon polyn�me � une fonction libre du genre stdioFeed(Polynom& p), mais bon, �a reste secondaire...
    • Le get_polynom() qui renvoie un double* qui n'est d�tenu/g�r� par aucun objet est une pure h�r�sie. C'est une source quasi-certaine de fuites m�moire si l'appelant ne prend pas l'initiative de "delete" ce double*. Probl�me r�solu si get_polynom() retourne un std::vector.
    • Pas besoin de r�p�ter "polynom" dans tous les noms de m�thodes. L'int�r�t des m�thodes est justement de savoir qu'on se trouve dans le contexte d'un polyn�me...

  6. #6
    Membre confirm�
    Homme Profil pro
    Ing�nieur d�veloppement mat�riel �lectronique
    Inscrit en
    Janvier 2012
    Messages
    68
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 34
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement mat�riel �lectronique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2012
    Messages : 68
    Par d�faut
    Alors en faite, le gentil professeur ne veut pas qu'on utilise le std::vector... Pour bien qu'on voit tout les probl�mes que tu me cite.

    Il est vrai que mon nommage n'est pas tr�s judicieux...

  7. #7
    Expert �minent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activit� : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par d�faut
    Salut,

    Ceci dit, le test sur if (polynom != NULL) ne sert strictement � rien dans le destructeur (par contre, il devrait etre quasi syst�matique lorsque tu veux acc�der � ce qui est point� par ton pointeur ):

    delete et delete[] ont en effet une garantie de non ex�cution si le pointeur a une valeur NULL, ce qui fait que, pour ce qui est du delete en tout cas, tu peux y aller sans avoir � t'inqui�ter

    De toutes mani�res, si tu as fait une c**rie (comme celle de copier le pointeur, mais de ne pas faire une copie en profondeur en demandant une nouvelle allocation dynamique et en copiant le contenu de la m�moire de la source vers l'origine), ce n'est pas cela qui te sauvera des diff�rents probl�mes que tu peux rencontrer...

    Le gros des probl�mes que l'on rencontre sur un delete ne viennent pas d'un pointeur qui vaudrait NULL (comme je l'ai dit, delete se charge de le v�rifier) mais plut�t d'une double tentative de lib�ration de la m�moire (l'adresse m�moire point�e a d�j� �t� lib�r�e par ailleurs) ou d'une tentative de lib�ration de m�moire qui n'a pas �t� allou�e dynamiquement
    A m�diter: La solution la plus simple est toujours la moins compliqu�e
    Ce qui se con�oit bien s'�nonce clairement, et les mots pour le dire vous viennent ais�ment. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 f�vrier 2014
    mon tout nouveau blog

  8. #8
    Membre Expert
    Homme Profil pro
    Chercheur
    Inscrit en
    Mars 2010
    Messages
    1 218
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Chercheur

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 218
    Par d�faut
    As-tu vu les points suivants en cours?
    - surcharge d'op�rateur
    - exceptions
    - template

    EDIT : pour la surcharge, j'ai trouv� la r�ponse dans ton code

  9. #9
    Membre confirm�
    Homme Profil pro
    Ing�nieur d�veloppement mat�riel �lectronique
    Inscrit en
    Janvier 2012
    Messages
    68
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 34
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement mat�riel �lectronique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2012
    Messages : 68
    Par d�faut
    Oui pour la surcharge =)

    Les exceptions je suis en train de les rajouter, pour g�rer les histoires de OutOfRange.

    On a vu les Template, mais je ne voit pas trop � quoi cela pourrait me servir dans ce cas.

  10. #10
    Membre Expert
    Homme Profil pro
    Chercheur
    Inscrit en
    Mars 2010
    Messages
    1 218
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Chercheur

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 218
    Par d�faut
    D'accord. Et quels sont les consignes/�nonc�s donn�s par ton enseignant?

  11. #11
    Membre �m�rite

    Profil pro
    Inscrit en
    D�cembre 2008
    Messages
    533
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2008
    Messages : 533
    Par d�faut
    Est-ce qu'il serait envisageable de d�finir une classe MyVector �quivalente � std::vector, puis l'utiliser dans Polynom ?
    �a permettrait de s�parer :
    • MyVector : la gestion en m�moire (alloc, remplissage, resize, copy, desalloc, etc) d'un vecteur d'�l�ments scalaires.
    • Polynom : la gestion des op�rations math�matiques relatives � un polyn�me, dont les coefficients se trouvent -- par commodit� -- �tre g�r�s par un MyVector.

  12. #12
    Membre confirm�
    Homme Profil pro
    Ing�nieur d�veloppement mat�riel �lectronique
    Inscrit en
    Janvier 2012
    Messages
    68
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 34
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement mat�riel �lectronique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2012
    Messages : 68
    Par d�faut
    Hummm en faite c'est tout un projet pour simuler et analyser des syst�mes � temps discret sous formes d'�tat et fonctions de transferts.
    L'�nonc� nous donnes juste quelques pistes, et donne assez de libert�s.


    Cela peut �tre envisageable.

  13. #13
    Membre Expert
    Homme Profil pro
    Chercheur
    Inscrit en
    Mars 2010
    Messages
    1 218
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Chercheur

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 218
    Par d�faut
    Ok. D�sol� pour l'interrogatoire mais les questions arrivent au fur et � mesure de tes r�ponses.
    Quelle(s) classe(s) envisages-tu d'impl�menter et quelles sont les relations hi�rarchiques entre elles si elles existent?

  14. #14
    Membre confirm�
    Homme Profil pro
    Ing�nieur d�veloppement mat�riel �lectronique
    Inscrit en
    Janvier 2012
    Messages
    68
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 34
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement mat�riel �lectronique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2012
    Messages : 68
    Par d�faut
    J'ai fait une classe "Signal" qui est maitre des toutes mes diff�rents signaux: "Sinus", "Step"...

    J'ai ensuite faite une classe "StateSystem" et "TransfertFunction" qui manipule respectivement des objets de classe "Matrix" et "Polynom".

  15. #15
    Membre Expert
    Homme Profil pro
    Chercheur
    Inscrit en
    Mars 2010
    Messages
    1 218
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Chercheur

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 218
    Par d�faut
    Pourrais-tu envoyer les fichiers d'en-t�te et uniquement eux pour qu'on se fasse une id�e des fonctionnalit�s de chaque classe?

    Tu sembles avoir choisi de nommer tes classes en anglais. Dans ce cas,
    - sinus devient sine
    - cosinus devient cosine
    - polyn�me devient polynomial
    - fonction de transfert devient transfer function

    Pour le moment, cela ne sert � rien de mettre les mains dans le cambouis, mieux vaut r�fl�chir sur ce dont tu as besoin et comment l'organiser. Par exemple, l'id�e de cob59 d'avoir une classe g�rant les tableaux dynamiques me semble plus qu'appropri� dans ton cas car tu vas au moins la r�utiliser pour les classes polynomial et matrix.

  16. #16
    Membre confirm�
    Homme Profil pro
    Ing�nieur d�veloppement mat�riel �lectronique
    Inscrit en
    Janvier 2012
    Messages
    68
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 34
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement mat�riel �lectronique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2012
    Messages : 68
    Par d�faut
    Je vous posterait tout �a demain.

    Il �tait bien pr�cis� qu'il fallait deux classes diff�rentes pour manipuler les Matrice ou le Polyn�mes, on avance par "�tape" sur les s�ances de Tp... Pas tr�s productif quoi =/

  17. #17
    Membre Expert
    Homme Profil pro
    Chercheur
    Inscrit en
    Mars 2010
    Messages
    1 218
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Chercheur

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 218
    Par d�faut
    Ok. Oui, il faudra bien deux classes diff�rentes pour manipuler les polyn�mes et les matrices, c'est bien normal.
    Mais rien n'emp�che d'�viter de coder deux fois la m�me chose en ayant sous la main une tierce classe qui g�re la m�moire.

  18. #18
    Membre confirm�
    Homme Profil pro
    Ing�nieur d�veloppement mat�riel �lectronique
    Inscrit en
    Janvier 2012
    Messages
    68
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 34
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement mat�riel �lectronique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2012
    Messages : 68
    Par d�faut
    Arf il aime pas trop le bougre ^^

Discussions similaires

  1. ASM + DELPHI ... soucis ... mais top int�ressant !
    Par - Robby - dans le forum Langage
    R�ponses: 9
    Dernier message: 21/11/2003, 15h58
  2. [langage] ptit souci de syntaxe
    Par marouanitos dans le forum Langage
    R�ponses: 2
    Dernier message: 26/09/2003, 10h28
  3. [File et Directory ListBox] Soucis de filtre
    Par Mercilius dans le forum Composants VCL
    R�ponses: 8
    Dernier message: 04/04/2003, 16h17
  4. R�ponses: 4
    Dernier message: 16/02/2003, 12h16
  5. R�ponses: 2
    Dernier message: 03/10/2002, 17h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo