AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Beim anzeigen meines Programmes aus der Taskleiste Hauptform nicht anzeigen
Thema durchsuchen
Ansicht
Themen-Optionen

Beim anzeigen meines Programmes aus der Taskleiste Hauptform nicht anzeigen

Ein Thema von RandomDD · begonnen am 17. Aug 2016 · letzter Beitrag vom 18. Aug 2016
Antwort Antwort
Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#1

AW: Beim anzeigen meines Programmes aus der Taskleiste Hauptform nicht anzeigen

  Alt 18. Aug 2016, 11:31
Das Event würde auslösen, wenn du aus deinem Thread nicht auf die MainForm zugreifen würdest. Durch den Zugriff auf die MainForm aus dem Thread heraus ist es so, als würdest du gar keinen Thread verwenden. Somit wird die GUI blockiert und kann auch keine Events (oder nur verzögert) auslösen.

Was genau bezweckst du denn mit dem Zugriff auf deine MainForm? Nimmst du dir von dort die Daten oder willst du dort was aktualisieren? Wenn ja, dann löse Events aus dem Thread mit Synchronize() aus um was zu aktualisieren. Die Daten die du im Thread benötigst um zu rechnen solltest du mit einer Klasseninstanz an deinen Thread übergeben, sodass der Zugriff auf deine MainForm wegfällt.
  Mit Zitat antworten Zitat
RandomDD

Registriert seit: 11. Aug 2016
42 Beiträge
 
#2

AW: Beim anzeigen meines Programmes aus der Taskleiste Hauptform nicht anzeigen

  Alt 18. Aug 2016, 11:44
Synchronise ist eine gute Idee, danke.
Viele Variablen kann ich leider nicht an die Klasse binden und dort ändern, da sie auch an anderen Stellen benötigt werden.

Also grob gesagt: wenn ich Synchronize verwende ist alles halbwegs in Butter?

Bleibt nur das Problem mit der blockierten GUI und dem nicht auslösenden OnRestore. Das bekomme ich wahrscheinlich gar nicht weg oder?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

AW: Beim anzeigen meines Programmes aus der Taskleiste Hauptform nicht anzeigen

  Alt 18. Aug 2016, 11:54
Doch indem du den blockierenden Code in einen Thread auslagerst. Dann reagiert deine GUI auch wieder. Natürlich wird das wieder hinfällig, wenn du ständig aus dem Thread raus die GUI aktualisierst.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.359 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Beim anzeigen meines Programmes aus der Taskleiste Hauptform nicht anzeigen

  Alt 18. Aug 2016, 11:56
Hier ist eine schöne Zusammenfassung zur Thread-Synchronisation: https://www.youtube.com/watch?v=Jhcpgjs1uPA
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#5

AW: Beim anzeigen meines Programmes aus der Taskleiste Hauptform nicht anzeigen

  Alt 18. Aug 2016, 12:19
Synchronise ist eine gute Idee, danke.
Viele Variablen kann ich leider nicht an die Klasse binden und dort ändern, da sie auch an anderen Stellen benötigt werden.
Darum bekommt dein Thread ja auch eine Kopie der Daten

Also grob gesagt: wenn ich Synchronize verwende ist alles halbwegs in Butter?
Falls Du z.B. nur Daten für eine Fortschrittsanzeige hast, ist postmessage voll und ganz ausreichend.

Bleibt nur das Problem mit der blockierten GUI und dem nicht auslösenden OnRestore. Das bekomme ich wahrscheinlich gar nicht weg oder?
Solange Du keinen Entwurf machst, der alle Ansprüche an und in Deinem Programm berücksichtigt, Nein!

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  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 15:10 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