Synapse socket.OnMonitor Event
-
- Beiträge: 478
- Registriert: Fr 13. Sep 2013, 12:07
- OS, Lazarus, FPC: Debian Bullseye (L 2.2.0)
- CPU-Target: 64Bit
- Wohnort: Rügen
Synapse socket.OnMonitor Event
Hallo,
wie wird das socket.OnMonitor Event verwendet ? - d.h. wie sieht die Struktur einer entsprechenden procedure aus ?
Wenn ich Events verwende z.B. Button1.click dann wird die Struktur ja durch den Objektinspektor automatisch erzeugt. - Wie ist es hier mit OnMonitor ?
Gruß
Frank
wie wird das socket.OnMonitor Event verwendet ? - d.h. wie sieht die Struktur einer entsprechenden procedure aus ?
Wenn ich Events verwende z.B. Button1.click dann wird die Struktur ja durch den Objektinspektor automatisch erzeugt. - Wie ist es hier mit OnMonitor ?
Gruß
Frank
Re: Synapse socket.OnMonitor Event
Naja, dem kann man ja nachgehen mit Rechtsklick "Finde Deklaration von.." bis man auf "THookMonitor" stösst.
Für bequeme Zeitgenossen geht es aber auch automatisch.
Schreibe:
setze den Cursor hinter das Gleichheitszeichen und drücke Strg + Umschalt + C
Wahlweise auch über das Kontextmenu ("Quelle"...)
Für bequeme Zeitgenossen geht es aber auch automatisch.

Schreibe:
Code: Alles auswählen
MySock.OnMonitor:=
Wahlweise auch über das Kontextmenu ("Quelle"...)
-
- Beiträge: 478
- Registriert: Fr 13. Sep 2013, 12:07
- OS, Lazarus, FPC: Debian Bullseye (L 2.2.0)
- CPU-Target: 64Bit
- Wohnort: Rügen
Re: Synapse socket.OnMonitor Event
Hallo theo,
ich habe es so verstanden dass OnMonitor ein Event feuert so wie ein Button.Click.
Beim Button habe ich dann folgende Struktur
Wie geht das mit OnMonitor ?
ich habe es so verstanden dass OnMonitor ein Event feuert so wie ein Button.Click.
Beim Button habe ich dann folgende Struktur
Code: Alles auswählen
procedure TForm1.Button1Click(Sender: TObject);
begin
mach.irgendwas
end;
Re: Synapse socket.OnMonitor Event
Ich verstehe deine Frage nicht. Aber vielleicht hilft das weiter:
http://www.ararat.cz/synapse/doku.php/p ... ebugsocket
http://www.ararat.cz/synapse/doku.php/p ... ebugsocket
-
- Beiträge: 478
- Registriert: Fr 13. Sep 2013, 12:07
- OS, Lazarus, FPC: Debian Bullseye (L 2.2.0)
- CPU-Target: 64Bit
- Wohnort: Rügen
Re: Synapse socket.OnMonitor Event
in der Beschreibung steht folgendes
Nun dachte ich mir man kann mit OnMonitor ein Event feuern wenn etwas auf dem socket ankommt und muss nicht pollen ob was im buffer ist.
Code: Alles auswählen
{:This event is good for monitoring content of readed or writed datas.}
property OnMonitor: THookMonitor read FOnMonitor write FOnMonitor;
Re: Synapse socket.OnMonitor Event
Und was hält dich jetzt davon ab?DL3AD hat geschrieben: Nun dachte ich mir man kann mit OnMonitor ein Event feuern wenn etwas auf dem socket ankommt und muss nicht pollen ob was im buffer ist.
-
- Beiträge: 478
- Registriert: Fr 13. Sep 2013, 12:07
- OS, Lazarus, FPC: Debian Bullseye (L 2.2.0)
- CPU-Target: 64Bit
- Wohnort: Rügen
Re: Synapse socket.OnMonitor Event
UNWISSENHEIT sonst würde ich ja nicht fragen.
Ein kleines Beispiel wie man es macht würde mir wirklich weiterhelfen.

Ein kleines Beispiel wie man es macht würde mir wirklich weiterhelfen.
Re: Synapse socket.OnMonitor Event
???DL3AD hat geschrieben:UNWISSENHEIT sonst würde ich ja nicht fragen.![]()
Ein kleines Beispiel wie man es macht würde mir wirklich weiterhelfen.
Ich habe dir oben gezeigt, wie man sich die Ereignisbehandlungsmethode automatisch erstellen lässt und ich habe dir hier ein Beispiel verlinkt.
Ich weiß wirklich nicht, was ich noch machen soll. Lesen musst du schon selber.
Außerdem habe ich das Event auch noch nie verwendet und weiß auch nicht mehr darüber.
-
- Beiträge: 478
- Registriert: Fr 13. Sep 2013, 12:07
- OS, Lazarus, FPC: Debian Bullseye (L 2.2.0)
- CPU-Target: 64Bit
- Wohnort: Rügen
Re: Synapse socket.OnMonitor Event
... damit kann ich nix anfangen und aus dem Link - dass durchschaue ich nicht.theo hat geschrieben:Naja, dem kann man ja nachgehen mit Rechtsklick "Finde Deklaration von.." bis man auf "THookMonitor" stösst.
Für bequeme Zeitgenossen geht es aber auch automatisch.
Schreibe:setze den Cursor hinter das Gleichheitszeichen und drücke Strg + Umschalt + CCode: Alles auswählen
MySock.OnMonitor:=
Wahlweise auch über das Kontextmenu ("Quelle"...)
Ist es so schwer meine Frage mit einem simplen Beispiel zu beantworten ?
Ich bin nicht der Oberguru im coden.
Re: Synapse socket.OnMonitor Event
Wie sieht denn dein bisheriger Code aus?
Zeig den doch mal.
Zeig den doch mal.
-
- Beiträge: 478
- Registriert: Fr 13. Sep 2013, 12:07
- OS, Lazarus, FPC: Debian Bullseye (L 2.2.0)
- CPU-Target: 64Bit
- Wohnort: Rügen
Re: Synapse socket.OnMonitor Event
Hallo theo,
ich habe ein spezielles Problem dargelegt - das lautet:
Bei Ankunft eines UDP-Datenpaketes ein Event zu feuern.
Ich dachte dass man es mit OnMonitor machen kann und bat um ein Beispielcode.
Der andere Code ist irrelevant !
Wenn du mir wirklich und ehrlich helfen willst - dann gib mir bitte ein Beispiel zu meiner konkreten Frage !
Wenn du nicht dazu in der Lage bist mir ein einfache Beispiel zu bringen dann halte dich bitte zurück !
Gruß Frank
ich habe ein spezielles Problem dargelegt - das lautet:
Bei Ankunft eines UDP-Datenpaketes ein Event zu feuern.
Ich dachte dass man es mit OnMonitor machen kann und bat um ein Beispielcode.
Der andere Code ist irrelevant !
Wenn du mir wirklich und ehrlich helfen willst - dann gib mir bitte ein Beispiel zu meiner konkreten Frage !
Wenn du nicht dazu in der Lage bist mir ein einfache Beispiel zu bringen dann halte dich bitte zurück !

Gruß Frank
- kupferstecher
- Beiträge: 431
- Registriert: Do 17. Nov 2016, 11:52
Re: Synapse socket.OnMonitor Event
Theos Hilfe war doch gut. Wenn du was nicht verstehst, frag einfach nach.
Ich in deiner Situation taete einfach ein beliebiges Event zuweisen. Der Kompiler gibt dir dann eine Fehlermeldung, die sagt, wie das Event auszusehen hat.
Ich in deiner Situation taete einfach ein beliebiges Event zuweisen. Der Kompiler gibt dir dann eine Fehlermeldung, die sagt, wie das Event auszusehen hat.
Re: Synapse socket.OnMonitor Event
@DL3AD: Du hast im Prinzip alle Informationen die du brauchst.
Da du offenbar die Übertragung dieser Informationen auf deinen konkreten Fall nicht hinkriegst, wollte ich auf deinen konkreten Fall eingehen, indem ich mir deinen Code anschaue.
Wenn du das auch nicht willst, dann halte ich mich nun tatsächlich zurück.
Trotzdem nochmal:
Du fragst: "wie wird das socket.OnMonitor Event verwendet ? "
Ich sage: mache ein ":=" hinter socket.OnMonitor im Editor und "setze den Cursor hinter das Gleichheitszeichen und drücke Strg + Umschalt + C"
Dann bekommst du von der IDE die Ereignisbehandlungsmethode in den Code geschrieben. Dort kannst du dann deinen Ereignisbehandlungscode hineinschreiben.
Damit sollte deine Frage beantwortet sein.
Da du offenbar die Übertragung dieser Informationen auf deinen konkreten Fall nicht hinkriegst, wollte ich auf deinen konkreten Fall eingehen, indem ich mir deinen Code anschaue.
Wenn du das auch nicht willst, dann halte ich mich nun tatsächlich zurück.
Trotzdem nochmal:
Du fragst: "wie wird das socket.OnMonitor Event verwendet ? "
Ich sage: mache ein ":=" hinter socket.OnMonitor im Editor und "setze den Cursor hinter das Gleichheitszeichen und drücke Strg + Umschalt + C"
Dann bekommst du von der IDE die Ereignisbehandlungsmethode in den Code geschrieben. Dort kannst du dann deinen Ereignisbehandlungscode hineinschreiben.
Damit sollte deine Frage beantwortet sein.
-
- Beiträge: 478
- Registriert: Fr 13. Sep 2013, 12:07
- OS, Lazarus, FPC: Debian Bullseye (L 2.2.0)
- CPU-Target: 64Bit
- Wohnort: Rügen
Re: Synapse socket.OnMonitor Event
Das war die entscheidende hilfreiche Information - DANKE.theo hat geschrieben: Ich sage: mache ein ":=" hinter socket.OnMonitor im Editor und "setze den Cursor hinter das Gleichheitszeichen und drücke Strg + Umschalt + C"
Dann bekommst du von der IDE die Ereignisbehandlungsmethode in den Code geschrieben. Dort kannst du dann deinen Ereignisbehandlungscode hineinschreiben.
Nun ist die Ereignissbehandlungsmethode erstellt - das mit Strg + Umschalt + C kannte ich noch nicht.
Es gibt aber noch eine Fehlermeldung - TMemory kennt er nicht - fehlt mir da noch was in USES ?
Code: Alles auswählen
{ private declarations }
private
procedure RXsockMonitor(Sender: TObject; Writing: Boolean;
const Buffer: TMemory; Len: Integer); //<= TMemory kennt er nicht
Re: Synapse socket.OnMonitor Event
Wenn du einfach gemacht hättest, was ich dir in der ersten Antwort empfohlen hatte, dann hättest du das auch gesehen.DL3AD hat geschrieben: Das war die entscheidende hilfreiche Information - DANKE.

Klicke mit der rechten Maustaste auf die Fehlermeldung im Nachrichtenfenster.DL3AD hat geschrieben: Es gibt aber noch eine Fehlermeldung - TMemory kennt er nicht - fehlt mir da noch was in USES ?
Wähle "Suche Bezeichner".
Klicke im Code-Browser mit der rechten Maustaste auf "synsock" (denn nur dort ist TMemory deklariert) und wähle "Verwende Unit synsock in Unit ..."
Das kannst du immer so machen, wenn ein Bezeichner nicht gefunden wird.