Methoden-Namen als Parameter übergeben (REALbasic network user group Deutschland Mailinglist archive)

Back to the thread list
Previous thread: Re-2: Programm nicht 2 Mal starten
Next thread: HTTP Formular aus RB füllen


Probleme mit String Bearbeitung   -   Markus Schnell
  Methoden-Namen als Parameter übergeben   -   Christian Hahn
   Re: Methoden-Namen als Parameter übergeben   -   Thomas Tempelmann
    Re: Methoden-Namen als Parameter übergeben   -   Christian Hahn

Methoden-Namen als Parameter übergeben
Date: 06.03.10 18:02 (Sat, 6 Mar 2010 18:02:37 +0100)
From: Christian Hahn
Hallo, ich hab' das eine vielleicht etwas kesse Frage: Könnte man nicht einer Methode einen weiteren Methoden-Namen als Parameter übergeben? Etwa so:

Sub Methode A
...
MethodeB (MethodeC)
End Sub

Sub MethodeB
...
MethodeC
End Sub

Hintergrund: Ich hatte hier neulich danach gefragt, wie man eine Methode unterbrechen kann, um abzuwarten, bis das Socket Daten erhalten hat. TT empfahl einen Thread, aber das funktioniert nur, wenn man das ganze Hauptprogramm in einem Thread ablaufen lässt. Christian Schmitz erwog, die Methode mit dem Socket-Aufruf enden zu lassen und die nächste Methode als Fortsetzung von Socket.DataAvailable aus starten zu lassen.
Ich baue gerade dieses zweite Verfahren aus und dabei wäre es praktisch, wenn man z.B. dem Socket beim Aufruf gleich mitteilen kann*, welche Methode es anschließend aufrufen soll. Anderenfalls muss man im Code so umständlich formulieren:
Select Case KommtVon
Case "MethodeA"
MethodeB
Case "MethodeC"
MethodeD
End Select

* Da das Socket-Objekt selbst gar keine Möglichkeiten hat, Parameter anzunehmen, müsste man das Socket z.B. in ein Container-Control packen. Das Container-Control bekommt eine property Fortsetzung, eine Methode Eingang und eine Methode Ausgang.
Der Methode Eingang wird der Methoden-Name für die Fortsetzung übergeben. Socket.DataAvailable ruft immer die Methode Ausgang auf, die wiederum die der property Fortsetzung übergebende Methode auf.
Auf diese Weise hat man ein Objekt, das man immer in der gleichen Weise benutzen kann, wenn man ein Socket braucht und Daten abwarten muss.

ich hoffe, das geht.
beste Grüße, Christian Hahn.

Re: Methoden-Namen als Parameter übergeben
Date: 06.03.10 19:26 (Sat, 6 Mar 2010 19:26:08 +0100)
From: Thomas Tempelmann
2010/3/6 Christian Hahn <<email address removed>>:
> Hallo, ich hab' das eine vielleicht etwas kesse Frage: Könnte man nicht einer Methode einen weiteren Methoden-Namen als Parameter übergeben?

Das geht mit "Delegates". Lies dich mal durch.

Re: Methoden-Namen als Parameter übergeben
Date: 07.03.10 17:31 (Sun, 7 Mar 2010 17:31:19 +0100)
From: Christian Hahn
sorry, Thomas, ich glaube, ich habe alles abgesucht, aber delegates konnte
ich nicht finden.
Im realbasic-nug archive stand einiges dazu, aber leider nicht genug, um die
Regeln zu vestehen.
beste Grüße, Christian Hahn.

----- Original Message -----
From: "Thomas Tempelmann" <<email address removed>>
To: "REALbasic NUG German" <<email address removed>>
Sent: Saturday, March 06, 2010 7:26 PM
Subject: Re: Methoden-Namen als Parameter übergeben

2010/3/6 Christian Hahn <<email address removed>>:
> Hallo, ich hab' das eine vielleicht etwas kesse Frage: Könnte man nicht
> einer Methode einen weiteren Methoden-Namen als Parameter übergeben?

Das geht mit "Delegates". Lies dich mal durch.





Links
MBS Realbasic PDF Plugins - Pfarrgemeinde Ministranten Nickenich