AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Mit Threads sichtbare Formen erzeugen. Macht das Sinn?
Thema durchsuchen
Ansicht
Themen-Optionen

Mit Threads sichtbare Formen erzeugen. Macht das Sinn?

Ein Thema von ScharfeMietze · begonnen am 20. Jul 2016 · letzter Beitrag vom 7. Aug 2016
Antwort Antwort
ScharfeMietze

Registriert seit: 5. Mär 2014
165 Beiträge
 
Delphi 10.2 Tokyo Architect
 
#1

Mit Threads sichtbare Formen erzeugen. Macht das Sinn?

  Alt 20. Jul 2016, 12:18
Ich würde gerne eure Meinung hören ob das vollkommen sinnfrei ist.

Ich würde gerne eine Main-VCL-Form starten, diese hat verschiedene Objekte, Listen und Co.
Nun sollen verschiedene Jobs über Threads gestartet werden. (per Klick auf Buttons).
Diese Jobs haben nichts miteinander zu tun, kommen sich also nicht gegenseitig ins Gehege.

Ich möchte das die Threads Vcl Formen erstellen und diese steuern. Wenn der Job der erstellten Form erledigt ist, fragt der Thread das Ergebnis über eine Propety ab, verarbeitet das Ergebnis, zerstört die Form und sendet das Ergebnis an die "Main-Form".

Kann man generell so vorgehen, oder ist dieses Konstuckt abartig.

Mich würden da einfach mal eure Meinungen Interessieren. Es gibt auch noch keine Zeile Code sondern nur eine Idee für ein zukünftiges Projeckt.

Gruß
SM
  Mit Zitat antworten Zitat
-=ZGD=-

Registriert seit: 25. Apr 2006
Ort: Bad Aibling
105 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

AW: Mit Threads sichtbare Formen erzeugen. Macht das Sinn?

  Alt 20. Jul 2016, 12:28
Hello.

Wozu soll denn der Thread extra ein Formular erstellen. Wenn es nur dafür benötigt wird, kann man doch einfacher mit Klassen/Objekten arbeiten?

Grüße,
Ebenfalls SM
Stefan Michalk
Wer Provokationen, Ironie, Sarkasmus oder Zynismus herauslesen kann soll sie ignorieren um den Inhalt meiner Beiträge ungetrübt erfassen zu können.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke
Online

Registriert seit: 10. Jun 2003
Ort: Berlin
9.394 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Mit Threads sichtbare Formen erzeugen. Macht das Sinn?

  Alt 20. Jul 2016, 13:01
Für den Zweck musst du dann non-VCL Fenster benutzen. Das funktioniert dann problemlos.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.173 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Mit Threads sichtbare Formen erzeugen. Macht das Sinn?

  Alt 20. Jul 2016, 13:10
Threads und VCL-Forms ist ein No-Go.
Da wird es früher oder später gewaltig krachen.

Hintergrund:
Alle Windows-Handles/GDI-Ressourcen sind nur im erzeugenden Thread gültig.
Du erzeugst zwar das Formular im Thread (und damit könnt man in diesem Thread drauf zugreifen). Es wird aber auch öfter auf die globalen Instanzen Screen und Application zugegriffen, welche Handles haben welche im Hauptthread erzeugt wurden. Und bei diesen wird es dann früher oder später krachen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
ScharfeMietze

Registriert seit: 5. Mär 2014
165 Beiträge
 
Delphi 10.2 Tokyo Architect
 
#5

AW: Mit Threads sichtbare Formen erzeugen. Macht das Sinn?

  Alt 24. Jul 2016, 10:53
Ich möchte eine eigentlich über den Thread eine eigenständige Form erstellen die NICHT auf die Mainform zugreift (sondern wirklich eigenständig arbeiten) die Ergebnisse würden vom Thread ausgelesen und verarbeitet werden.
Der Thread soll ja eine sichtbare Form erstellen, sonst könnte ich ja den Thread selbst den Job tun lassen.
Ich würde ja gerne den Thread die "Steuerung" der Formen überlassen.

Ps: NonVcl ?? Hatte ich noch nie zwischen meinen Fingern. Ich denke daher das der Mehraufwand größer wäre als das Projekt "anders" zu planen.

Natürlich kann man auch mit klassen und Co Arbeiten, Ich würde aber gerne wissen was mit Threads möglich ist. Wobei mir klar ist das Threads mit sichtbaren Komponenten nicht gerade einfach und gut Kirschen-essen ist.


Alle Anregungen sind willkommen
Gruß

SM

Geändert von ScharfeMietze (24. Jul 2016 um 11:16 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke
Online

Registriert seit: 10. Jun 2003
Ort: Berlin
9.394 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Mit Threads sichtbare Formen erzeugen. Macht das Sinn?

  Alt 24. Jul 2016, 11:13
Ps: NonVcl ?? Hatte ich noch nie zwischen meinen Fingern. Ich denke daher das der Mehraufwand größer wäre als das Projekt "anders" zu planen.
Das kommt darauf an. In unserem Fall ging es lediglich um eine Logausgabe, sprich einen Button und ein Memofeld. Das ist schnell gemacht. Größere Formulare sind natürlich aufwendiger.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

AW: Mit Threads sichtbare Formen erzeugen. Macht das Sinn?

  Alt 24. Jul 2016, 11:16
Die einzige Arbeit die eine Form erledigen sollte, ist die Kommunikation mit dem Benutzer. Man spricht deshalb auch vom UI (UserInterface). Eine freundliche UI ist vor allem immer aufmerksam (responsive).

Ein Download500GbFileFromInternet Button sollte nichts weiter machen als auf diesen Wunsch des Benutzers zu reagieren und entsprechend weiterleiten. Die gewünschte Aktion selber wird im Hintergrund (Thread) erledigt weil sonst die UI für Minuten/Stunden nicht mehr reagiert.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.173 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: Mit Threads sichtbare Formen erzeugen. Macht das Sinn?

  Alt 24. Jul 2016, 11:37
Ich möchte eine eigentlich über den Thread eine eigenständige Form erstellen die NICHT auf die Mainform zugreift
Das macht die VCL schon ganz alleine.
Besser wäre es das Formular normal zu erzeugen und den Workerthread vom Formular erzeugen zu lassen.
Es gibt genügend Möglichkeiten dann vom Thread die Aktualsierungsinformationen ans Formular zu bringen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.130 Beiträge
 
Delphi 10.3 Rio
 
#9

AW: Mit Threads sichtbare Formen erzeugen. Macht das Sinn?

  Alt 25. Jul 2016, 09:02
Kann man generell so vorgehen, oder ist dieses Konstuckt abartig.
Das einige was man nicht im Thread macht ist auf die UI zuzugreifen...

Die eigentliche Frage ist... Was willst Du den machen?
  Mit Zitat antworten Zitat
ScharfeMietze

Registriert seit: 5. Mär 2014
165 Beiträge
 
Delphi 10.2 Tokyo Architect
 
#10

AW: Mit Threads sichtbare Formen erzeugen. Macht das Sinn?

  Alt 7. Aug 2016, 07:32
Ich seh schon das hier nimand wirklich ein gutes Haar an der Idee hat.
Ich Plane dann doch lieber anders
Danke für eure Meinungen!
Gruß
SM
  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 00:55 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