Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by Benmik,
10. Jul 2020
Die Variante "eine langdauernde Operation muss unbedingt im MainThread laufen" ist offenbar äußerst blöd. Mir scheint, entweder man greift zu furchtbaren Verrenkungen oder man sendet einfach abschnittsweise aus dem MainThread. Mir persönlich wären die Verrenkungen für eine schlichte Anwenderinformation zu aufwändig.
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by Benmik,
10. Jul 2020
Na gut. Ich mache das bei meiner Bilderladerei so, dass ich in den Schleifen bei jedem Durchgang eine Prozedur aufrufe, die prüft, ob entweder eine bestimmte Anzahl von Bildern geladen oder ob eine Sekunde verstrichen ist (über GetTickCount). Diese Prüfung scheint kaum Zeit zu verbrauchen. Das müsste das Problem doch endlich killen.
Wieso denn, es gibt doch kein Multithreading. Und wenn doch,...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by Benmik,
10. Jul 2020
Ich finde diesen Vorschlag eigentlich sehr gut. Man könnte doch einfach eine globale Stringvariable nehmen, deren Inhalt auf der Form angezeigt und die vom Timer jede Sekunde oder so aktualisiert wird. In die Strecke der Komponentenerzeugung fügt man in diese Variable immer wieder Informationen über den gegenwärtigen Stand ein. Man kann über den Timer zusätzlich die Anzahl der verstrichenen...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by Benmik,
9. Jul 2020
Nach meinen Verzweiflungsphasen mit Threads kann ich dir nur sagen: Das glaube ich dir!
Aber es hilft ja nichts. Auch du musst mit Threads arbeiten.
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by Benmik,
9. Jul 2020
Also, ich weiß nicht, warum diese Ablehnung von Threads. Wenn man langwierige Aufgaben parallelisieren kann, dann führt doch sowieso kein Weg am Multithreading vorbei, und auch da muss man den Anwender informieren. Wenn hier nicht parallelisiert werden kann - wie dies hier angenommener Weise der Fall ist - dann würde ich doch nicht zu so komplizierten Lösungen greifen. Ich würde den MainThread...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by Benmik,
8. Jul 2020
Als Anwender finde ich das nicht so gut. Bei länger dauernden Prozessen fragt sich der Anwender ja immer, ob das Programm nicht hängt, was es nicht selten ja wirklich tut. Zum anderen möchte er irgendeine Information. Ich zeige immer die Anzahl der Verarbeitungen an. Oft hat der Anwender eine Vorstellung davon, wieviele das ungefähr sind (zum Beispiel von vorangegangenen Läufen). Dann hat er auch...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by Benmik,
8. Jul 2020
Was ist mit dieser Antwort von dir höchstpersönlich?