AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Verständnisfrage Thread...

Ein Thema von calibra301 · begonnen am 13. Feb 2018 · letzter Beitrag vom 16. Feb 2018
Antwort Antwort
Seite 2 von 2     12   
calibra301

Registriert seit: 20. Mär 2009
95 Beiträge
 
Delphi XE8 Professional
 
#11

AW: Verständnisfrage Thread...

  Alt 13. Feb 2018, 12:07
Danke,

werde ich umbauen sobald meine Regierung mir etwas Freizeit einräumt

Gruss
Calli
  Mit Zitat antworten Zitat
calibra301

Registriert seit: 20. Mär 2009
95 Beiträge
 
Delphi XE8 Professional
 
#12

AW: Verständnisfrage Thread...

  Alt 13. Feb 2018, 12:29
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
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#13

AW: Verständnisfrage Thread...

  Alt 13. Feb 2018, 13:03
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.
Ja, fehlende Englischkenntnisse sind nicht gerade förderlich.

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.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
calibra301

Registriert seit: 20. Mär 2009
95 Beiträge
 
Delphi XE8 Professional
 
#14

AW: Verständnisfrage Thread...

  Alt 16. Feb 2018, 08:48
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:
 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
Was ich nicht hinbekomme ist die eigene Deklaration der ReadUDP Prozedur sowie des
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
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.070 Beiträge
 
Delphi 10.4 Sydney
 
#15

AW: Verständnisfrage Thread...

  Alt 16. Feb 2018, 10:03
Bitte erstelle für eine neue Frage, die offensichtlich nichts mit der ursprünglichen zu tun hat, ein neues Forumsthema.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#16

AW: Verständnisfrage Thread...

  Alt 16. Feb 2018, 10:50
Wenn man selbst Execute aufruft
Darum ist Execute auch eigentlich PROTECTED, denn so kann man es garnicht erst von außen aufrufen.
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)
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#17

AW: Verständnisfrage Thread...

  Alt 16. Feb 2018, 12:19
vergisst das Protected anzugeben und es z.B. nach Public verschiebt)
So wie in diesem Fall. Beim Überschreiben macht es natürlich Sinn darauf zu achten welche Sichtbarkeit die Methoden vorher hatten. Aber wenn man nicht weiß wie es funktioniert, macht man das vielleicht ja auch absichtlich, weil man es für die richtige Vorgehensweise hält.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Delphi-Laie

Registriert seit: 25. Nov 2005
1.474 Beiträge
 
Delphi 10.1 Berlin Starter
 
#18

AW: Verständnisfrage Thread...

  Alt 16. Feb 2018, 13:49
Es stirbt einfach nicht aus, es ist zum Mäusemelken: Laß das überflüssige "=true" weg!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 16:55 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