Avatar billede thomaxz Nybegynder
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
Avatar billede flyver23 Nybegynder
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);
                    }
}
Avatar billede thomaxz Nybegynder
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.
Avatar billede flyver23 Nybegynder
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
Avatar billede flyver23 Nybegynder
30. januar 2007 - 10:22 #4
Dette spm hjalp mig igang.
http://www.eksperten.dk/spm/726686
Avatar billede thomaxz Nybegynder
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.
Avatar billede flyver23 Nybegynder
30. januar 2007 - 10:34 #6
Jamen det vil jeg da gerne.
Vh Flyver23
www.terningspil.dk
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester