J'ai deux classes :
A contient un bouton1 et un memo ;
B contient un treeview et un bouton2
je voudrais qu'une fois je clic sur bouton2 après une selection dans treeview, j’enregistre les items sélectionnés dans un vecteur et par le constructeur de la classe B, je transite le vecteur dans la classe A pour l'ajouter dans un memo; l'ajout se fait d'une façon bien précis, c'est à dire j'ai une ligne comme suit
int a, b , c , d;
je dois rajouter les éléments sélectionnés avant le point virgule, j'ai fait comme suit :
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 class A { void bouton1Click(TObject *Sender) { TStringList *v = new TStringList ; TStringList *List = new TStringList(); B *objet = new B objet(this,v); for (int i=0; i<memo->lines->count; i++) if (AnsiPos("instance",memo->lines->strings[i] && m = -1) m = i; if (m>0) { for (i=m ; i<memo->Lines->Count; i++) if(AnsiPos(";",memo->Lines->Strings[i] ) && n == -1 ) n = i; for(i=0;i<m;i++) List->Add(memo->Lines->Strings[i]); List->Add(memo->Lines->Strings[m].SubString(0,memo->Lines->Strings[m].Pos("instance")+4)); UnicodeString strM ; List->Insert(m+1,strM+ str+","); strM = str; List>Add(memo>Lines>Strings[n].SubString(memo>Lines>Strings[n].Pos(";"),memo->Lines->Strings[n].Length())) ; for(i = n+1 ; i<memo->Lines->Count ; i++) List->Add(memo->Lines->Strings[i]); memo->Clear(); for(int w=0 ; w<List->Count ; w++) memo->Lines->Add(List->Strings[w]); delete objet ; } }} class B { __fastcall B(TComponent *Owner, TStringList *v) { UnicodeString instance = " A, B , C, D" v2 = v ; ..... } TStringList v2 ; void __fastcall bouton2Click(TObject *Sender) { v2->Add(TreeView1->Selections[i]->Text); }
le problème c'est si je clique une fois sur bouton2 le vecteur ajoute un seul,
la ligne "A,B, C, D ;" est supprimé de memo , est remplacé par l'item selectionné
c'est à dire au lieu d'avoir A,B, C, D, E ;sachant que l'item selectionné est E, j'ai E,
je voudrais garder à chaque fois je clique sur ajouter, la ligne A,B, C, D ;et ajouté les items juste avant le D
un autre problème c'est qu'une fois sélectionne plusieurs items et je clic sur bouton2, j'ai le message d'erreur suivant :
Opérateur de pointeur incorrecte
quelqu'un pourrait t'il m'aider
Partager