Salut,
la methode refresh me renvoit une exceptionEn fait je veux rafraichir le contenu d'un dossier, voici mon code:Citation:
Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
_de est déclaré comme globale variable. Dans une autre methode j'essaye encore de rafraichir mes dossierCode:
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 internal void pasteTestSet(string ziel,TDConnection TD,string basline) { SubjectNode pasteSubject = null; // if test is a Review if (TestName.StartsWith("R")) { string[] n = basline.Split(' '); Boolean search = false; aSource = _SourceFolder.Split(' '); paste = true; treeMng = (TreeManager)TD.TreeManager; pasteSubject = (SubjectNode)treeMng.get_NodeByPath(@"Subject\04_Review") List list = pasteSubject.NewList(); Boolean s = true; foreach (SysTreeNode de in list) { //_de = de; //prüfen ob BL 1 zum Beispiel in Tesplan existier, wenn ja dann ist paste true //if (s) { if (!(de.Name.Equals("BL " + aSource[2]))) { paste = false; _de = de; } else { //s = false; paste = true; _de = de; try { List lt = de.NewList(); pruefen = false; foreach (SysTreeNode e in lt) { //prüfen ob den test schon in BL1 drin ist if (e.Name.Equals(_TestName)) { pruefen = true; MessageBox.Show("copy in " + TD.ProjectName + " pleased do it manual"); break; } else { pruefen = false; } } } catch { } break; } } //_de = de; } foreach (SysTreeNode ee in list) { //Pruefen ob Baseline 2.0 in TestPlan existiert if (ee.Name.Equals("BL " + n[2])) { search = true; break; } else { search = false; } } //erzeugt baseline 2 , da die nicht existiert if (search == false) { QC = new QCHelper(); //_de.AddNode(@"Subject\04_Review" + @"BL " + n[2]); QC.AddTestPlanFolder(@"04_Review\BL " + n[2]); //subject.AddNode(@"Subject\04_Review" + @"\BL " + n[2]); } } // the Interface don't copy if the Test already exist if (pruefen == false) { ISupportCopyPaste ZielIscp; TestSetFactory testSetF = (TestSetFactory)TD.TestSetFactory; ZielIscp = (ISupportCopyPaste)testSetF; MessageBox.Show(TD.ProjectName); ZielIscp.PasteFromClipBoard(clipboard, ziel, 0, 1); } if (TestName.StartsWith("R")) { //try //{ pasteSubject.Refresh(); _de.Refresh(); //} //catch { } }
tout ceci s'execute en fait après que l'on ait cliqué sur in button, au premier click tout fonctionne bien, le rafraichissement fonctionne mais au second j'ai l'exception citée plus haut.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
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 ]//subject.Refresh(); if (TestName.StartsWith("R")) { //try //{ // subject.Refresh(); //} //catch { } string[] b = basline.Split(' '); if (paste == false) { if (pruefen == false) { //try //{ // subject.Refresh(); //} //catch { } SysTreeNode nd = (SysTreeNode)treeMng.get_NodeByPath(@"Subject\04_Review" + @"\BL " + aSource[2]); nd.Refresh(); try { List s = nd.NewList(); foreach (SysTreeNode o in s) { //MessageBox.Show(o.Name); if (o.Name.Equals(_TestName)) { //ISupportCopyPaste iscp; //MessageBox.Show(con.ProjectName); // TestSetFactory testSetF = (TestSetFactory)TD.TestSetFactory; // iscp = (ISupportCopyPaste)testSetF; //string source = o.NodeID.ToString(); // clipboard = iscp.CopyToClipBoard(source, 0, ""); SubjectNode thesubject = (SubjectNode)treeMng.get_NodeByPath(@"Subject\04_Review" + @"\BL " + b[2]); //MessageBox.Show(subject.Name); // string ziel = subject.NodeID.ToString(); // iscp.PasteFromClipBoard(clipboard, ziel, 0, 1); SubjectNode sube = (SubjectNode)o; sube.Move(thesubject); break; } else { } } } catch { } } } // vor der Kopie war der Test nicht im BL 1 aber jetzt nach der Kopie da sein, dieser Test in BL 2 verschieben if (pruefen == false) { try { _de.Refresh(); List s = _de.NewList(); foreach (SysTreeNode o in s) { //MessageBox.Show(o.Name); if (o.Name.Equals(_TestName)) { //ISupportCopyPaste iscp; //MessageBox.Show(con.ProjectName); // TestSetFactory testSetF = (TestSetFactory)TD.TestSetFactory; // iscp = (ISupportCopyPaste)testSetF; //string source = o.NodeID.ToString(); // clipboard = iscp.CopyToClipBoard(source, 0, ""); SubjectNode mysubject = (SubjectNode)treeMng.get_NodeByPath(@"Subject\04_Review" + @"\BL " + b[2]); //MessageBox.Show(subject.Name); // string ziel = subject.NodeID.ToString(); // iscp.PasteFromClipBoard(clipboard, ziel, 0, 1); SubjectNode sube = (SubjectNode)o; sube.Move(mysubject); break; } else { } } } catch { } } } else { }; } }
Mon second problème se situe au niveau des comboxBox. dans l'évènement formclosed j'efface le contenu du comboBox.Testmais lorsque je rapelle ma forme ( tjr via un button) le text du comboBox réapparait.Code:comboBox.Text= String.empty
Merci d'avance pout tout éventuelle aide