AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Thread Problem

Ein Thema von DerAndereMicha · begonnen am 25. Apr 2005 · letzter Beitrag vom 27. Apr 2005
Antwort Antwort
Seite 2 von 2     12
Benutzerbild von DerAndereMicha
DerAndereMicha

Registriert seit: 1. Jul 2004
Ort: Berlin
208 Beiträge
 
Delphi 2007 Enterprise
 
#11

Re: Thread Problem

  Alt 26. Apr 2005, 11:06
Verstehe ich das richtig, wenn ich in dem abgespaltenen Thread ein Formular mittels Create erzeuge und anschließend auch in diesem Thread mit ShowModal zur Anzeige bringe, führt diese Aktionen trotzdem der Hauptthread aus???
Der Weg ist das Ziel...
  Mit Zitat antworten Zitat
Benutzerbild von Motzi
Motzi

Registriert seit: 6. Aug 2002
Ort: Wien
598 Beiträge
 
Delphi XE2 Professional
 
#12

Re: Thread Problem

  Alt 26. Apr 2005, 11:19
Zitat von Sanchez:
Zurzeit setzt du irgendwelche Properties im Thread und bringst den Haupthread dazu das Form zu zeichnen, oder? Du solltest den Haupthread dazu bringen, die verschiedenen Properties zu setzen.
Messages sind an dieser Stelle optimal geeignet..! Messages können im Zusammenhang mit Threads überhaupt sehr praktisch sein und auch zur Synchronisierung verwendet werden. Hab mal ein kleines Beispiel-Prog mit Threads und Messages angehängt.
Angehängte Dateien
Dateityp: zip threads_584.zip (217,0 KB, 23x aufgerufen)
Manuel Pöter
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Thread Problem

  Alt 26. Apr 2005, 12:00
Und hier für die Runterlad-Faulen: http://www.luckie-online.de/Delphi/S...Nachricht.html
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von DerAndereMicha
DerAndereMicha

Registriert seit: 1. Jul 2004
Ort: Berlin
208 Beiträge
 
Delphi 2007 Enterprise
 
#14

Re: Thread Problem

  Alt 26. Apr 2005, 13:46
Ich glaub ich steh auf dem Schlauch...

Wenn ich Eure Quelltexte (Danke übrigens) richtig verstehe wird doch bei Euch der Hauptthread durch ne Message dazu veranlaßt etwas auf der Hauptform zu zeichnen. Das ist ja gut und schön und funktioniert bei mir auch, allerdings kann ich auch z.B.die Caption der Hauptform direkt aus dem Thread heraus ändern (Mainform.Caption:='Test') und es funktioniert genau so.

Mein Formular (welches nicht das Hauptformular ist) und dynamisch im Thread erzeugt wird, wird aber einfach nicht komplett gezeichnet. Von welcher Form soll ich da ne Message senden und welche Form soll sie empfangen und darauf reagieren. Es gibt nur ein Showmodal im Thread und das funzt nicht.

Ich hoffe ich nerve Euch nicht allzusehr mit meiner Dummheit...
Der Weg ist das Ziel...
  Mit Zitat antworten Zitat
Benutzerbild von Sanchez
Sanchez

Registriert seit: 24. Apr 2003
Ort: Neumarkt Stmk
892 Beiträge
 
Delphi XE6 Enterprise
 
#15

Re: Thread Problem

  Alt 26. Apr 2005, 13:59
Zitat von DerAndereMicha:
Das ist ja gut und schön und funktioniert bei mir auch, allerdings kann ich auch z.B.die Caption der Hauptform direkt aus dem Thread heraus ändern (Mainform.Caption:='Test') und es funktioniert genau so.
Da kannst du aber nicht davon ausgehen, dass es immer funktioniert. Meistens funktionierts, manchmal aber nicht. Von deinem Thread aus solltest du auf gar kein Formular direkt zugreifen. Dafür ist die VCL nicht ausgelegt. Wenn dein Thread irgendein Fenster aktualisieren soll, dann sollte er eine Message an genau dieses Fenster senden.
Daniel
Testen ist feige!
  Mit Zitat antworten Zitat
Benutzerbild von Motzi
Motzi

Registriert seit: 6. Aug 2002
Ort: Wien
598 Beiträge
 
Delphi XE2 Professional
 
#16

Re: Thread Problem

  Alt 26. Apr 2005, 20:02
Oh.. ich les gerade, dass du in einem abgespalteten Thread dynamisch eine Form erzeugst. Das solltest du unter allen Umständen vermeiden!!! Die VCL ist nicht threadsafe, und auch wenn du in deinen Threads nicht auf die Formen des jeweils andren Threads zugreifst, so weißt du trotzdem nicht, was die VCL intern macht und welche Objekte intern von allen TForm und Instanzen anderer Komponenten gemeinsam verwendet werden etc, wobei KEINE Thread-Synchronisation stattfindet.
Schlußfolgerung: VCL-Formen immer nur im Hauptthread, benötigst du zwingend ein Fenster in einem abgespalteten Thread, dann nur nonVCL!
Manuel Pöter
  Mit Zitat antworten Zitat
Benutzerbild von DerAndereMicha
DerAndereMicha

Registriert seit: 1. Jul 2004
Ort: Berlin
208 Beiträge
 
Delphi 2007 Enterprise
 
#17

Re: Thread Problem

  Alt 27. Apr 2005, 07:16
Danke Euch Allen. Ich werde die Form wohl doch irgendwie versuchen aus dem Thread auszulagern.
Der Weg ist das Ziel...
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 16:07 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