AGB  ·  Datenschutz  ·  Impressum  







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

On Event und Threads

Ein Thema von Arnulf · begonnen am 6. Dez 2005 · letzter Beitrag vom 6. Dez 2005
Antwort Antwort
Arnulf

Registriert seit: 28. Okt 2004
Ort: Wien
271 Beiträge
 
#1

On Event und Threads

  Alt 6. Dez 2005, 22:39
Hi
Ich versuche ein MPlayer objekt zu basteln - MPlayer ist ein consolen programm.
Über Pipes lese ich die daten aus oder schick dem Player was immer ich brauch.

Jedenfalls würde ich nun gerne ein Objekt erstellen das mir die ganze Steuerung abnimmt.
Jetzt muß ich über die Pipes ständig lesen oder schreiben und auch noch darauf achten ob der Mplayer beendet wird oder ob er noch läuft.

Dazu kommt ein thread der die zentrale steuerung übernimmt ( das objekt darf ja das hauptprogramm nicht behindern ).
Um nun aber auch eine progressbar nach aussen durchzureichen lese ich vom mplayer ständig die time daten aus.

Jetzt muß ich also ein OnProgressBar event verkapseln.
Ich frag mich wie das funktionieren soll.
Wenn der thread also ein update für die Progressbar hat, müsste der ein event auslösen das die onprogressbar routine aufruft.
Natürlich darf die nicht im kontext des threads laufen sondern im kontext des hauptprogramms (GUIs).

Ich hab versucht ein bisschen über events nachzulesen, aber wenn ich zum beispiel

IF Assigned(FOnProgressBar) THEN FOnProgressBar(Time); im thread verwende, wird dann nicht die Procedure die dahinter steht im kontext des Threads ausgeführt?.

Oder weiß jemand wie man sowas machen würde.
Die einzigen Components die etwas ähnliches machen dürften sind wohl die sockets aber da hab ich keine sourcen gefunden wo ich mal schnell nachschauen könnte.

Danke
Arnulf
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: On Event und Threads

  Alt 6. Dez 2005, 22:42
wenn der Source der Komponente im Thread ausgeführt wird so wird natürlich auch das FOnProgressBar(Time) im Context des Thread aufgerufen. Du kannst dieses Event aber auch syncronisieren (TThead.Syncronize)
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Arnulf

Registriert seit: 28. Okt 2004
Ort: Wien
271 Beiträge
 
#3

Re: On Event und Threads

  Alt 6. Dez 2005, 22:56
Hm - Syncronize.
Das würde aber bedeuten ich las den user der mein objekt benutzt eine prozedure schreiben die mein thread dann abarbeiten muß.

Ich hab mir schon verrückte konstruktionen mit windows messages ausgedacht, aber das in einem objekt ist irgendwie komisch .

Machen das Blocking Sockets die in einem Thread laufen auch so? - also das OnRead event diverser Sockets?
Würde mich interessieren wie das dort gelöst ist.

Thx
Arnulf
  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 02:31 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