![]() |
AW: Verständnisfrage Thread...
Danke,
werde ich umbauen sobald meine Regierung mir etwas Freizeit einräumt :-) Gruss Calli |
AW: Verständnisfrage Thread...
Wird aber wohl erst morgen was...
So dankbar ich auch für eine Lösung bin, es wäre aber trotzdem schön wenn mir jemand erklären könnte WARUM das nun plötzlich nicht mehr geht. Nur des Verständnisses wegen.. Auch ist mir der Unterschied zwischen Start und Execute nicht klar. Viel findet man nur in Englisch und mit mitte 60 ist das nicht so meins... Hatte das so verstanden das mit Thread.create das Ding erstellt und und ich dann nur irgendwie meine Schleife starten muss die im erzeugtem Thread läuft. Gruss Calli |
AW: Verständnisfrage Thread...
Zitat:
Der Punkt ist, dass Execute intern quasi aus dem Thread heraus aufgerufen werden muss, damit die Befehle darin auch im Thread laufen. Wenn man selbst Execute aufruft, tut man das ja aus dem Hauptthread heraus und damit bleibt man auch im Hauptthread. Du kannst ja mal einen Haltepunkt in das Execute setzen und einfach mal den Stacktrace anschauen. Vielleicht wird es dann klarer. |
AW: Verständnisfrage Thread...
Hallo,
kurze Rückmeldung von der Front :-) Konnte es nicht sein lassen und hab selber probiert. Vielleicht hilfts ja jemand anderem. Ich hasse Threads wo die Lösung gefunden aber nicht dokumentiert wird..sogar für Dummy´s wie mich :-) Der ganze OpenGL Kram im Mainthread. Der ganze Datenkram die die einzelnen Threads sammeln kommmt in public Arrays des jeweiligem Threads. Wenn alle Geräte abgearbeitet sind kommt ein Synchronize(form1.updategui); updategui holt sich dann in einer Schleife die Daten aus den Einzelthreads und zeichnet. Gehen tuts...ob es so die "feine Englische Art" ist weiss ich nicht... Leider hab ich noch eine Baustelle mit der ich euch gern belästigen würde. Hab die Frage auch schon öfter gefunden , leider nur mit Antworten wie "guck da...sieht man doch..." Es geht um die dynamische Erzeugung eines TIDUDPServers.
Delphi-Quellcode:
Was ich nicht hinbekomme ist die eigene Deklaration der ReadUDP Prozedur sowie des
try
FSocket := TIdUDPServer.Create(nil); FSocket.ThreadedEvent := True; FSocket.DefaultPort := Artnet_Port; FSocket.ThreadedEvent:=true; FSocket.ReuseSocket:=rstrue; // FSocket.OnUDPRead := ReadUDP; FSocket.BroadcastEnabled := True; FSocket.Active := True; except end Aufrufes FSocket.OnUDPRead:= ??? Im Grunde macht es vielleicht Sinn das auch in einen eigenen Thread auszulagern und auch mit Sycronize zu arbeiten. Danke und Gruss Calli |
AW: Verständnisfrage Thread...
Bitte erstelle für eine neue Frage, die offensichtlich nichts mit der ursprünglichen zu tun hat, ein neues Forumsthema.
|
AW: Verständnisfrage Thread...
Zitat:
OK strict protected wäre besser, und es wäre unklug, wenn man beim Ableiten/Überschreiben die Sichtbarkeit dieser Methode verändert. (vergisst das Protected anzugeben und es z.B. nach Public verschiebt) |
AW: Verständnisfrage Thread...
Zitat:
|
AW: Verständnisfrage Thread...
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:00 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz