Funktion aus BackgroundWorker

23/11/2009 - 08:28 von Dirk Herwig | Report spam
Hallo,

ich versuche, eine Methode aus dem BackgroundWorker bzw. einer aufgerufenen
statischen Methode aufzurufen. Ich habe meine Vorgehensweise mal gekürzt
dargestellt, da es sonst soviel unützen Code gibt. Dabei mache ich jedoch
irgendetwas verkehrt mit dem Delegate. Ich bekomme einen Hinweis, das für
das statische Feld, Methode oder Eigenschaft "MakeWindowOpen" ein
Objektverweis erforderlich ist.

delegate void ShowFensterDelegate(int dt, int il, int it, int iw, int ih,
string txt);
private void MakeWindowOpen(int dt, int il, int it, int iw, int ih,
string txt)
{
FrmDynText dtex = new FrmDynText();
dtex.Dyntime = dt;
dtex.Left1 = il;
dtex.Top1 = it;
dtex.Width1 = iw;
dtex.Height1 = ih;
dtex.Text1 = txt
dtex.Show();
}

private void worker_DoWork(object sender, DoWorkEventArgs e)
{

Empfangen(clientRequest);
.
}

public static void Empfangen(TcpClient clientRequest)
{

ShowFensterDelegate sfd = new
ShowFensterDelegate(MakeWindowOpen); ==> FEHLERMELDUNG

}

Dirk
 

Lesen sie die antworten

#1 Roman Wagner
23/11/2009 - 09:39 | Warnen spam
Die Methode MakeWindowOpen ist nicht statisch. Daher hat der Kompiler
recht wenn er dir sagt, dass du für den Aufruf eine Objektinstanz
benötigst.

Ähnliche fragen