AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Suchfunktion Ergebnis der Suchanfrage

Ergebnis der Suchanfrage


Datum des Suchindex: Heute, 18:47

Parameter dieser Suchanfrage:

Suche in Thema: Events in TThread
Suche alle Beiträge, die von "DocE" geschrieben wurden
• Suchmethode: "Suche nach allen Begriffen"
• Nach Datum (firstpost) sortiert
• Zeige Treffer als Beiträge
Zeige 9 von insges. 9 Treffern
Suche benötigte 0.005s

Es liegen Ergebnisse in folgenden Bereichen vor:

  • Forum: GUI-Design mit VCL / FireMonkey / Common Controls

    Re: Events in TThread

      Delphi
      by DocE, 6. Okt 2006
    N'Abend SirThornberry,

    das stimmt. Es gibt evtl. sogar noch ein paar weitere Punkte an denen es zu Komplikationen kommen könnte z.B. hier, falls irgendein Ereignis zugewiesen ist.

    if Assigned(FOnMessage) then FOnMessage(Msg, Handled);

    Aber man könnte sich ja das ProcessMessages für den TThread einfach selbst schreiben durch:

    (verkürzt)
  • Forum: GUI-Design mit VCL / FireMonkey / Common Controls

    Re: Events in TThread

      Delphi
      by DocE, 6. Okt 2006
    Hallo Christoph,

    die Audioauswertung in zwei Threads auszulagern sehe ich nicht als besonder sinnvoll an. Es funktioniert ja in einem Thread bereits wunderbar. Das Problem war ja nur, dass der Thread in einer Schleife Application.ProcessMessages ausführen muss, damit das Ereignis überhaupt ausgelöst wird. Das müßte einer Deiner beiden Threads ja trotzdem machen, sonst würde er das Ereignis...
  • Forum: GUI-Design mit VCL / FireMonkey / Common Controls

    Re: Events in TThread

      Delphi
      by DocE, 6. Okt 2006
    Hallo,

    ich habe jetzt nochmal ein bißchen rumprobiert und vertrete weiterhin die Meinung, dass der Thread nicht die Messages des Hauptthreads "bekommt".

    Dazu habe ich die MessageQueue des Hauptthreads "aufgefüllt" und mit sleep(x) die Verarbeitung angehalten, während im TThread weiter Application.ProcessMessages ausgeführt wurde. Nach dem Sleep habe ich die Messages in ein Memo schreiben...
  • Forum: GUI-Design mit VCL / FireMonkey / Common Controls

    Re: Events in TThread

      Delphi
      by DocE, 6. Okt 2006
    Mahlzeit,



    An diese Möglichkeit hatte ich bereits gedacht, diese allerdings ausgeschlossen, weil wenn der Hauptthread hängt, gehen Puffer verloren. Das Event wird ja erst dann ausgeführt, wenn der Hauptthread wieder "idle" ist. Einfaches Beispiel:

    Wird ein Sleep(10000) im Hauptthread ausgeführt (oder eine Operation, die solange dauert), wird erst im Anschluss daran, also nach 10 Sekunden...
  • Forum: GUI-Design mit VCL / FireMonkey / Common Controls

    Re: Events in TThread

      Delphi
      by DocE, 6. Okt 2006
    So, zunächst zu :



    Da bin ich anderer Meinung. Also die Audiokomponente läuft asynchron (soweit ich das beurteilen kann). Sie löst immer dann, wenn der Puffer voll ist ein Event aus (reagiert intern auf MM_WIM_DATA) und dann wieder beim nächsten vollen Puffer usw. (ohne den Prozessablauf anzuhalten). Dennoch möchte ich die Verarbeitung in einem Thread durchführen, damit 1. der Hauptthread...
  • Forum: GUI-Design mit VCL / FireMonkey / Common Controls

    Re: Events in TThread

      Delphi
      by DocE, 6. Okt 2006
    Die einzige Aktion die ich im Hauptthread ausführe ist die Übergabe an ein Array. Es wird nichts gezeichnet, geupdatet o.ä. Aber, wie bereits gesagt, ist die Übergabe auch nicht das Problem.

    BufferFilled ist eine Prozedur des Threads.

    Die Fehlermeldung kommt durch das "Application.ProcessMessages" in der Schleife. Selbst wenn die Übergabe an den Hauptthread komplett herausgenommen wird,...
  • Forum: GUI-Design mit VCL / FireMonkey / Common Controls

    Re: Events in TThread

      Delphi
      by DocE, 6. Okt 2006
    Hi Xaromz,

    der wichtigeste Teil des Codes ist eigentlich oben gepostet. Die AudioKomponente ruft halt das Ereignis OnBufferFilled auf, sobald der Puffer voll ist. Den Verarbeite ich dann und übergebe ihn ggf. an den Hauptthread.

    Das Problem ist ja nur diese Schleife:

    while not Terminated do
    begin

    sleep(100);
  • Forum: GUI-Design mit VCL / FireMonkey / Common Controls

    Re: Events in TThread

      Delphi
      by DocE, 6. Okt 2006
    Ich denke Synchronize wird das Problem nicht lösen, denn ich möchte ja gar nichts im Hauptthread ausführen. Das Application.ProcessMessages (bzw. die jetzt gesuchte Alternative) soll ja nur dafür sorgen, dass der Thread seine eigenen Events behandelt.

    Die Übergabe an den Hauptthread erfolgt dann unter Verwendung von CriticalSections. Die Übergabe ist aber auch nicht das Problem.

    Grüsse...
  • Forum: GUI-Design mit VCL / FireMonkey / Common Controls

    Events in TThread

      Delphi
      by DocE, 6. Okt 2006
    Hallo miteinander!

    Es stellt sich folgende Problematik:

    In einem TThread werte ich Audiosignale aus. Hierzu verwende ich in dem Thread eine Komponente, die die Arbeit übernimmt und ein Ereignis auslöst, sobald der Puffer voll ist. Damit die Events überhaupt abgearbeitet werden, muss ich Application.ProcessMessages in einer Schleife aufrufen.

    Das Problem ist, dass es dadurch gelegentlich...


URL zu dieser Suchanfrage:

https://www.delphipraxis.net/dp_search.php?do=usersearch&search_username=DocE&search_exact_username=1&search_sortby=dateline&search_resulttype=post&search_matchmode=0&searchthreadid=78521
Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:01 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