Bonjour,
Je suis actuellement coincé
résumé du problème:
a chaque création d'un nouveau device , les paramètres sont affectés aux devices déjà créés remplaçant ainsi les paramètres propres aux autres devices
voici la partie critique du code:
////////////////////
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4public Class Accueil Public Shared PLCLineList As New Lines End Class
//////////////
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Public Class Device_property Public Structure Device Dim Name As String Dim Line As Integer Dim Adresse As Integer Dim param() As Integer ' les parametres peuvent changer en fonction du device End Structure
///////////////////////
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 Shared Function Fill_DataSource(ByVal Device As Device_property.Device) 'remplir la datasource Dim Num_line_created, Found, num_line Num_line_created = Accueil.PLCLineList.Count Found = False num_line = 0 If Num_line_created > 0 Then For i = 0 To (Num_line_created - 1) If Accueil.PLCLineList(i).LineID = Device.Line Then Found = True num_line = i i = Num_line_created End If Next i If Not Found Then Accueil.PLCLineList.Add(New Line(Device.Line, "Line " & Device.Line)) num_line = Accueil.PLCLineList.Count - 1 End If Else Accueil.PLCLineList.Add(New Line(Device.Line, "Line " & Device.Line)) End If Accueil.PLCLineList(num_line).Device.Add(New Device(num_line, Device.Adresse, "Device" & Device.Adresse, Device.param)) Return Nothing End Function
////////////////////
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 Public Class Line ''' <summary> ''' Creates a new Line ''' </summary> ''' <param name="LineId">The ID of the line</param> ''' <param name="LineName">The name of the line</param> Public Sub New(ByVal LineId As Integer, ByVal LineName As String) Initialize() LineIDValue = LineId LineNameValue = LineName End Sub Private Sub Initialize() DevicesValue = New Devices() End Sub Private LineIDValue As String ''' <summary> ''' Identifier for the Line ''' </summary> Public Property LineID() As String Get Return LineIDValue End Get Set(ByVal value As String) LineIDValue = value End Set End Property Private LineNameValue As String ''' <summary> ''' Name for the Line ''' </summary> Public Property LineName() As String Get Return LineNameValue End Get Set(ByVal value As String) LineNameValue = value End Set End Property Private WithEvents DevicesValue As Devices ''' <summary> ''' The Devices for this Line ''' </summary> Public Property Device() As Devices Get Return DevicesValue End Get Set(ByVal value As Devices) DevicesValue = value End Set End Property End Class ''' <summary> ''' A collection of Lines ''' </summary> Public Class Lines Inherits System.ComponentModel.BindingList(Of Line) End Class
/////////////////////
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 Public Class Device 'Public Sub New() 'End Sub ''' <summary> ''' Creates a new device ''' </summary> ''' <param name="DeviceID">The identifier for this device</param> ''' <param name="lineid">The line who placed this device</param> ''' <param name="DeviceName">The name of the device</param> ''' <param name="Parameter">The param of the device was placed</param> Public Sub New(ByVal lineid As Integer, ByVal DeviceID As Integer, ByVal DeviceName As String, ByVal Parameter As Array) lineIDValue = lineid DeviceIDValue = DeviceID DeviceNameValue = DeviceName ParameterValue = Parameter End Sub Private lineIDValue As Integer ''' <summary> ''' Identifier for the order ''' </summary> Public ReadOnly Property lineID() As Integer Get Return lineIDValue End Get End Property Private DeviceIDValue As Integer ''' <summary> ''' Identifier for the Device ''' </summary> Public ReadOnly Property DeviceID() As Integer Get Return DeviceIDValue End Get End Property Private DeviceNameValue As String ''' <summary> ''' The Line where placed this Device ''' </summary> Public Property DeviceNameID() As String Get Return DeviceNameValue End Get Set(ByVal Value As String) DeviceNameValue = Value End Set End Property Private WithEvents ParameterValue As Array ''' <summary> ''' The parameter of the device ''' </summary> Public Property Parameter() As Array Get Return ParameterValue End Get Set(ByVal Value As Array) ParameterValue = Value End Set End Property End Class ''' <summary> ''' A collection of Device ''' </summary> Public Class Devices Inherits System.ComponentModel.BindingList(Of Device) End Class
Si vous pouviez me debloquer cela serait magnifique
pour de plus ample information, je vous repondrai dans la mesure du possible.
Cordialement
Partager