Salut,
la methode refresh me renvoit une exceptionEn fait je veux rafraichir le contenu d'un dossier, voici mon code: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 dossier
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 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 : 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 ]//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 : Sélectionner tout - Visualiser dans une fenêtre à part comboBox.Text= String.empty
Merci d'avance pout tout éventuelle aide
Partager