![]() |
ThreadedForm?
Wie kann man erreichen, dass ein Nebenfenster (eines Hauptformulars) automatisch in einem eigenen Thread läuft? Gibt es für sowas eine Komponente, die man einfach auf dem Formular des Nebenfensters platziert?
|
Re: ThreadedForm?
Gar nicht. Die VCL (und die Win32-API) ist nicht Thread-Save.
|
Re: ThreadedForm?
Zitat:
|
Re: ThreadedForm?
meines Wissens nach nicht, da die VCL.net "nur" die auf .net portierte VCL ist und nach wie vor mehr als 95% der Aufrufe direkt an die Windows-API gehen
mr2 |
Re: ThreadedForm?
Das Problem ist nämlich folgendes:
Im Hauptfenster laufen ziemlich aufwendige Prozesse ab, und wenn ich dann im Nebenfenster auf einen Button klicke, dann reagiert der nicht. Und ich kann bei den aufwendigen Prozessen im Hauptfenster nicht Application.ProcessMessages aufrufen, weil diese aufwendigen Prozesse von ActiveX-Komponenten verursacht werden, auf die ich keinen Einfluss habe. Oder wie könnte man das Problem des Button-Klicks im Nebenfenster sonst lösen? |
Re: ThreadedForm?
Zitat:
Das wäre doch ein Ansatzpunkt: vielleicht kannst du diese Prozesse in einen Thread packen und das Hauptfenster für die Zeit sperren. MfG, Bug |
Re: ThreadedForm?
Zitat:
|
Re: ThreadedForm?
Gibt es so etwas wie einen systemweiten Mausklick-Event? Ich könnte dann prüfen, ob der Mausklick über dem Button des besagten Nebenfensters erfolgte und in diesem Fall die gewünschte Aktion auslösen.
|
Re: ThreadedForm?
Ich habe jetzt versucht, im Timer-Event eines weiteren Thread-Timers (500 ms) mit GetAsyncKeyState abzufragen, ob eine bestimmte Taste gedrückt ist. Aber offensichtlich ist GetAsyncKeyState auch auf die Windows-Botschaftswarteschlange angewiesen, sodass auch hier erst nach einer längeren Zeit auf den Tastendruck reagiert wird.
Gibt es nicht eine LowLevel-Funktion, mit der man außerhalb der Windows-Botschaftswarteschlange abfragen kann, ob eine bestimmte Taste gedrückt ist? |
Re: ThreadedForm?
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:55 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-2025 by Thomas Breitkreuz