![]() |
Seltsamer Fehler mit PageControl und Thread
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
Wie kann es sein, dass immer, wenn ich mit einem Thread auf ein Control in einem inaktiven TabSheet, dass noch nicht in den Vordergrund gerufen wurde, zugreife, das Control verschwindet und beim Beenden des Programms einige Fehlermeldungen bekomme, jedoch wenn das Control bzw. das TabSheet schon einmal sichtbar, also im Vordergrund war, alles funktioniert? :roteyes: Habe zwecks besserer Verständnis nochmal ein Beispiel im Anhang. Dazu einfach mal auf den Button klicken, ohne das erste TabSheet in den Vordergrund gebracht zu haben. Hoffe irgendjemand hat das verstanden und kann mir erklären, wieso das so ist. Danke :!: |
Re: Seltsamer Fehler mit PageControl und Thread
Es ist einfach nicht erlaubt unsynchronisiert von einem Thread auf GUI-Controls zuzugreifen. Das kracht einfach unspezifiziert.
|
Re: Seltsamer Fehler mit PageControl und Thread
Zitat:
Wie kann man denn synchronisiert mit BeginThread arbeiten? |
Re: Seltsamer Fehler mit PageControl und Thread
Zitat:
Zitat:
|
Re: Seltsamer Fehler mit PageControl und Thread
Zitat:
In der Code-Library habe ich leider nichts passendes gefunden. Danke! |
Re: Seltsamer Fehler mit PageControl und Thread
Deiner Phantasie sind keine Grenzen gesetzt! Eine globale Boolean-Variable sollte es zum Beispiel tun, wenn du sie im Hauptthread mit einem Timer abfragst. Sei aber allgemein vorsichtig, wenn du in mehreren Threads auf Variablen zugreifst. Das geht in diesem speziellen Fall aber noch.
|
Re: Seltsamer Fehler mit PageControl und Thread
Hi,
also ich empfehle dir TThread und Syncronize, so wie es Bernhard schon gesagt hat. Gruß oki |
Re: Seltsamer Fehler mit PageControl und Thread
OK, dann werde ich es so machen. Thx
|
Re: Seltsamer Fehler mit PageControl und Thread
vllt mit CriticalSections?
|
Re: Seltsamer Fehler mit PageControl und Thread
Synchronize funktioniert über WIndows Messages. Es wird an den Hauptthread eine Nachricht geschickt, mit der Bitte, die entsprechenden Prozedur in seinem Kontext auszuführen. Das kann man natürlich nachbilden...
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:03 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