Bonjour,

Avant tout je précise que je suis débutant en C++.
L'objectif des quelques lignes suivantes étaitent de me familiariser avec le passage de paramètres "pchar*" et "const pchar*

Je travaille sous Borland Turbo C++ 6 - version personnelle.

Voici mon code :
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
 
void   TForm1::procedure1(char *P1)
{
	P1 = StrLCat(P1," ET ça aussi",StrLen(P1)+12);
}
 
void   TForm1::procedure2(const char *P1)
{
	P1 = "A La PLACE DE....";
}
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
	char *Chaine;
 
	Chaine = "Valeur 1";
	procedure1 (Chaine);
	Memo1->Lines->Add(Chaine);    
 
	Chaine = "Valeur 2";
	procedure2 (Chaine);
	Memo1->Lines->Add(Chaine);    //ET ça aussi
}
Ce que j'esperai :
Affichage dans le mémo de
- Valeur 1 ET ça aussi
- Valeur 2

Ce que j'ai obtenu :
- Valeur 1 ET ça aussi
- ET ça aussi

Et là je ne comprends pas pourquoi ma Seconde ligne n'est pas "Valeur 2"
Et encore pire : lorsque j'évalue "chaine"
aprés l'execution de Chaine = "Valeur 2"
l'evaluateur me retourne "ET ça aussi"...

Et là ce sont toutes mes coyances en informatiques qui s'écroulent ....

Merci pour votre aide, je suis certains d'être passé à coté d'un truc gros comme une baleine .... mais là je ne vois pas ....

David