30. januar 2007 - 09:57
Der er
5 kommentarer og 1 løsning
bruge data modtage fra socket asynkront
Jeg har lavet en asynkron socket, og jeg modtager også fint data, men nu vil jeg også godt have lov til at bruge de dat jeg modtager. lige nu vil jeg blot tilføje dataet i en listviw, blot hele den modtagen streng. men grundet at det er en worker thread, må den jo ikke tilføje data til listivew, så hvordan tiløfjer jeg dat til listiview? jeg har prøvet at søge, men de resultate jeg fandt handle kun om consol appplikationer
Annonceindlæg fra Computerworld
AI-agenterne kommer vrimlende
Virksomheder er på vej fra store sprogmodeller, der svarer på spørgsmål, til AI-agenter, der kan udføre opgaver på egen hånd. Det gør teknologien mere nyttig – og langt mere risikabel.
30. januar 2007 - 10:05
#1
Du skal gøre brug af invoke og invokerequired private delegate void MethodStringParameterDel(string data); public void OpdaterListview(string data) { if (this.listview.InvokeRequired) { this.Invoke(new MethodStringParameterDelegate(OpdaterListview), new object[] { data}); } else { this.listview.Items.Add(data); } }
30. januar 2007 - 10:14
#2
Ok, men jeg får nogle problmmer jeg har ændre listview til listView1 som min listview hedder, men den siger. Error 1 The type or namespace name 'MethodStringParameterDelegate' could not be found (are you missing a using directive or an assembly reference?) Error 2 The best overloaded method match for 'System.Windows.Forms.Control.Invoke(System.Delegate, params object[])' has some invalid arguments Error 3 Argument '1': cannot convert from 'MethodStringParameterDelegate' to 'System.Delegate' på flg. line this.Invoke(new MethodStringParameterDelegate(OpdaterListview), new object[] { data}); ved ikke helt hvad jeg skal gøre. at prøvet at se om det var fordi du lå i f.eks System.threading men kunne ikke finde noget.
30. januar 2007 - 10:21
#3
Denne linie skal placeres private delegate void MethodStringParameterDelelgate(string data); public partial class Frmetellerandet : Form { bla bla bla private delegate void MethodStringParameterDelegate(string data); } Så lige det stod MethodStringParameterDel. Der skal stå MethodStringParameterDelegate
30. januar 2007 - 10:33
#5
Tak, det hjalp. Jeg skulle dog også lige ertser this.invoke.. med invoke så virkede det tak. læg et svar hvis du vil have points.