Laden...

wie muss ich die methode übergeben

Erstellt von thejudge vor 17 Jahren Letzter Beitrag vor 17 Jahren 1.244 Views
T
thejudge Themenstarter:in
94 Beiträge seit 2006
vor 17 Jahren
wie muss ich die methode übergeben

Hallo,

ich bin grad dabei nen irc clienten zu schreiben und hab nun folgendes problem:
ich hab 2 forms und die kommunikation mach ich über properties (btw den thread in der FAQ kenn ich). ich mach das ganze mit ner asynchronen verbindung, die ich komplett in form1 erstelle etc..

form1:
Socket client
private void onconnect
private void onreceive
private void onsend <- die methode brauch ich auch in form2, damit ich beim enter drücken in der textbox das ganze an den irc server schicken kann


private void OnSend(IAsyncResult ar)
{
        Socket remote = (Socket)ar.AsyncState;
        int sent = remote.EndSend(ar);
        remote.BeginReceive(data, 0, data.Length, SocketFlags.None, new AsyncCallback(OnReceive), remote);
}

form2:
Socket client <- wenn ich form2 erstellen lasse, wird der client über nen property übergeben


//form1:
sw = new StatusWindow();
sw.Pclient = client;
sw.Show();

//form2:
public Socket Pclient
{
        get { return this.ircverbindung; }
        set { this.ircverbindung = value; }
}


private void tbox_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Enter)
    {
            string send = DateTime.Now.ToLongTimeString() + " >> " + Ptb.Text + "\r\n";
            Prtx.Text += send;
            byte[] data = Encoding.ASCII.GetBytes(send);
            Pclient.BeginSend(data, 0, data.Length, SocketFlags.None, new AsyncCallback(), Pclient);
	    //eigtl müsste es new AsyncCallback(OnSend) sein, aber ich weiß ja leider nich wie ich an die methode rankomm
    }
}

ich hoffe es kann mir jemand helfen 😉

mfg

If you don't like me for who I am, then you don't like me for who I am, but all you're gonna get, is who I am.

49.485 Beiträge seit 2005
vor 17 Jahren

Hallo thejudge,

pack deine Methoden in eine Modellklasse, dann kannst du sie in bzw. aus beiden Forms verwenden.

herbivore

T
thejudge Themenstarter:in
94 Beiträge seit 2006
vor 17 Jahren

pack deine Methoden in eine Modellklasse, dann kannst du sie in bzw. aus beiden Forms verwenden.

ich kann mir leider nichts unter einer modell-klasse vorstellen. wenn ich die methoden in ne neue klasse steck, hab ich ja wieder das selbe problem.
bitte versuch mir das ganze ein bisschen detaillierter näher zu bringen und/oder am besten mit nem beispiel/link

danke schonmal

If you don't like me for who I am, then you don't like me for who I am, but all you're gonna get, is who I am.

49.485 Beiträge seit 2005
vor 17 Jahren

Hallo thejudge,

nach dem du schriebst, dass du [FAQ] Kommunikation von 2 Forms kennst, bin ich davon ausgegangen, dass der Hinweis auf die Modellklassen reichen würde. Dort steht

Wenn man vorhat, Oberflächen- und Modellobjekte zu trennen, könnte folgender Thread noch ganz hilfreich sein:
>
, Codebeispiel in
>

Also sogar inkl. Codebeispiel. Was willst du mehr?

herbivore