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
| 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