Ich habe Listview mit for-Schleife Elemente zu füllen, erstellt jedes Element gibt es eine Instanz der Klasse TSMPPConnection und diese Klasse hat Eigenschaft ConnectionItem Listview-Element zu halten, mag ich von Artikel Text ändern Innerhalb der Klasse kommt diese Anfrage von einem Objektereignis, wenn ich den Itemtext direkt ändere, wird eine Ausnahme ausgelöst.Delegierten innerhalb der Klasse
Zusätzliche Informationen: Cross-Thread-Betrieb nicht gültig: Steuer 'lstConnections' von einem anderen Thread als dem Thread zugegriffen es auf erstellt wurde.
Delegierten: ich Delegierten verwendet, um dies aber denselben Fehler zu erreichen.
Delegate Sub dlg_WriteConnectionItemStatus(s As String)
Sub WriteConnectionItemStatus(s As String)
Dim dlg As New dlg_WriteConnectionItemStatus(AddressOf WriteConnectionItemStatus)
dlg.Invoke(s)
'there is no InvokeRequired to check if execution come from delgate and avoid infinite loop
If ConnectionItem IsNot Nothing Then ConnectionItem.SubItems(6).Text = s
End Sub
Es gibt keine InvokeRequired zu überprüfen, ob die Ausführung von Delegierten kommen und vermeiden Endlosschleife
1 Versuchen: eine andere Unter mit derselben Struktur verwenden es in Originalunter von Delegierten zu nennen.
Delegate Sub dlg_WriteConnectionItemStatus(s As String)
Sub WriteConnectionItemStatus(s As String)
Dim dlg As New dlg_WriteConnectionItemStatus(AddressOf WriteConnectionItemStatus_Interface)
dlg.Invoke(s)
End Sub
Sub WriteConnectionItemStatus_Interface(s As String)
If ConnectionItem IsNot Nothing Then ConnectionItem.SubItems(6).Text = s
End Sub
gleichen Fehler
vielen Dank mein Problem gelöst :); – Realbitt