AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Indy: Wie OnExecute Synchronisieren?
Thema durchsuchen
Ansicht
Themen-Optionen

Indy: Wie OnExecute Synchronisieren?

Ein Thema von McMorton · begonnen am 30. Mär 2006
Antwort Antwort
McMorton

Registriert seit: 8. Mär 2006
45 Beiträge
 
#1

Indy: Wie OnExecute Synchronisieren?

  Alt 30. Mär 2006, 22:28
Hallo.

Ich habe noch eine Frage zu Indy (10).

Wie verwende ich das OnConnect-Event beim Server richtig?
Es handelt sich ja hier um einen Thread.


Ich möchte vom OnExecute-Event ein Event zu einer anderen Unit werfen. Wenn ich das mache spinnt das Programm dannach
(es werden auf einmal Codezeilen übersprungen)

Ich habe im Internet ein Beispielprogramm gefunden, wo die Ausgabe synchronisiert wird.
Wenn ich die Ausgabe synchronisiere passiert das in der Event-Methode zwar nicht, dafür aber etwas später in einer aufgerufenen Methode.

Am besten ich zeig mal den Code:

Delphi-Quellcode:
//Das OnExecute-Event des Servers
procedure TIndyServer.IndyEvent(AContext: TidContext);
begin
  self.FIndyString := AContext.Connection.IOHandler.ReadLn;
 
   //Hier steht eine Abfrage ob die Daten gültig sind

    //Event wird Synchronisiert in eine Hilfsmethode geworfen
    (AContext.Yarn as TidYarnOfThread).Thread.Synchronize(self.ThreadEvent);
    
end;

//Die Hilfsmethode wirft das Event
procedure TIndyServer.ThreadEvent;
begin
  self.FOnDaten(self.FIndyString);
end;

Wenn ich in der Methode, die das Event behandelt, jetzt andere Objekte erzeuge funktioniert das zwar (vorher spielte das Programm da verrückt), aber die erzeugten Objekte erzeugen selber auch wieder Objekte (u.a. ein MsXML-Objekt).
Dabei spielt das Programm immer noch verrückt (sobald es das MSXML-Objekt erzeugen soll überspringt es ein parr Zeilen).
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:54 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz