| |
VB.NET - FortgeschritteneRe: VB .NET - Threading mit Klasse und Parametern ? | | | Autor: Melkor | Datum: 27.11.07 20:28 |
| Public Sub tr(ByVal o As Object)
' ....
End Sub
Private Sub Test()
Dim t As New System.Threading.Thread(AddressOf tr)
t.Start(irgendeinObjekt)
End Sub Those people who think they know everything are a great annoyance to those of us who do - Isaac Asimov | |
Re: VB .NET - Threading mit Klasse und Parametern ? | | | Autor: thE_iNviNciblE | Datum: 27.11.07 21:41 |
| Hallo meister Melkor,
also das beispiel funktionert, so kann ich einer procedure schonmal werte mitteilen.
Aber ich besitze eine klasse
Public Class eBayAPI
Public Function getSellerList(ByRef lvw As ListView, ByVal von As _
DateTimePicker, ByVal bis As DateTimePicker, ByVal strUserID As String) _
As Boolean
' .............
end Function
end class diese methode soll ein eigenständiger Thread werden....
ach wenn ich alles als "Object" deklarieren im Methoden Prototype dann erhalte ich eine verrückte Meldung in der IDE, das dass so nicht gehen kann.
Weiß wer weiter ?
Wissen ist Macht !!
------------------------- | |
Re: VB .NET - Threading mit Klasse und Parametern ? | | | Autor: Melkor | Datum: 27.11.07 22:04 |
| Du musst nur die Werte in eine Structure oder Class packen und das als Parameter übergeben. Du kannst auch eine Klassenmethode aufrufen und die Werte als Klassenvariablen bereitstellen. Diese Methode kannn dann eine beliebige weitere Methode aufrufen. Beliebige Funktionen kannst du nicht direkt aufrufen.
Those people who think they know everything are a great annoyance to those of us who do - Isaac Asimov | |
Re: VB .NET - Threading mit Klasse und Parametern ? | | | Autor: thE_iNviNciblE | Datum: 27.11.07 22:41 |
| hi,
in eine structure bekomme ich noch hin, aber in eine "class packen", das habe ich so noch nie gehört....
hast du evtl. ein kleines beispiel, wäre sehr nett.
Kann bei google nämlich überhaupt nix finden....
gruss
jan
Wissen ist Macht !!
------------------------- | |
Re: VB .NET - Threading mit Klasse und Parametern ? | | | Autor: Melkor | Datum: 28.11.07 09:17 |
| Entweder übergibst du dein Klassenobjekt oder Structure als Parameter mit dem Code oben, in dem Objekt kannst du beliebige Daten haben, die dann dem Thread zur Verfügung stehen, oder du startest eine Klassenmethode als Thread und dann hat der Thread Zugriff auf alle Felder des Klassenobjekts.
Public Class TObj
Public Field1 As String
Public Field2 As Integer
' ... usw
Public Sub New(.....)
' ... Felder initialisieren
End Sub
' Thread-Methode
Public Sub DoIt()
' ....
End Sub
End Class
Private Sub Test()
Dim tobj1 As New TObj(....)
Dim t As New System.Threading.Thread(AddressOf tobj1.DoIt)
t.Start()
End Sub Those people who think they know everything are a great annoyance to those of us who do - Isaac Asimov | |
Probleme... | | | Autor: thE_iNviNciblE | Datum: 28.11.07 18:30 |
| Hallo Melkor,
Bei der Variablen "t"
"Fehler bei der Überladungsauflösung, da keine zugreifbare "New" mit diesen Argument aufgerufen werden kann:"
Aufruf:
Dim clsebay2 As New eBayAPI()
clsebay2.bis = DatePickerBis
clsebay2.von = DateTimePickerVon
clsebay2.lvw = lvweBayLiveList
clsebay2.strUserID = strINI_eBay.strUserName
Dim t As New System.Threading.Thread(AddressOf _
clsebay2.getSellerList)
t.Start() '##################################################################
'# >> getSellerList
'#
'# Beschreibung: Fragt die eBay Verkäuferliste ab.
'##################################################################
'Public Function getSellerList(ByRef lvw As Object, ByVal von As Object,
' ByVal bis As Object, ByVal strUserID As Object) As Boolean
Sub getSellerList(Optional ByVal test As String = "")
Try
lvw.Items.Clear()
Dim apicall As GetSellerListCall = New GetSellerListCall(Context)
apicall.DetailLevelList.Add(DetailLevelCodeType.ReturnAll)
'Pagination is required
apicall.Pagination = New PaginationType()
apicall.Pagination.PageNumber = 1
apicall.Pagination.EntriesPerPage = 200
If strUserID.Length > 0 Then
apicall.UserID = strUserID
End If
'MsgBox(von.Text & " " & bis.Text)
apicall.StartTimeFilter = New TimeFilter(von.Value, bis.Value)
'apicall.EndTimeFilter = New TimeFilter(von.Value, bis.Value)
Dim sellerlist As ItemTypeCollection = apicall.GetSellerList()
Dim item As ItemType
'# Liste der eBay Artikel holen
For Each item In sellerlist
Dim listparams(6) As String
listparams(0) = item.ItemID
listparams(1) = item.Title
listparams(2) = item.SellingStatus.CurrentPrice.Value.ToString()
listparams(3) = item.StartPrice.Value
listparams(4) = item.SellingStatus.BidCount.ToString()
listparams(5) = "---"
listparams(6) = Date.Now
Dim vi As ListViewItem = New ListViewItem(listparams)
lvw.Items.Add(vi)
Next item
Catch ex As Exception
Call debug_message(ex.Message, "getSellerList")
bIsRefreshing_live = False
End Try
End Sub ich hab in der klasse auch ein sub New() als konstruktor eingebaut.... geht auch nicht...
*grübel*
Wissen ist Macht !!
------------------------- | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
sevISDN 1.0
Überwachung aller eingehender Anrufe!
Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Weitere InfosTipp des Monats sevZIP40 Pro DLL
Zippen und Unzippen wie die Profis!
Mit nur wenigen Zeilen Code statten Sie Ihre Anwendungen ab sofort mit schnellen Zip- und Unzip-Funktionen aus. Hierbei lassen sich entweder einzelnen Dateien oder auch gesamte Ordner zippen bzw. entpacken. Weitere Infos
|
|
|
Copyright ©2000-2024 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|