![]() |
Re: Auf Beendigung einer Methode warten
Sirius beschreibt das richtig,
Wenn innerhalb eines Programms Arbeiten zu erledigen(Objecte/Methoden) sind dann kann dies technisch nur nacheinander funktionieren. Es kann genausowenig wie ein Thread aufgeteilt werden. Aufteilen geht nur mit mehreren Threads wenn mehrere Prozessoren(oder Kerne) vorhanden sind und dies auch vom Betriebssystem unterstützt wird. Dürfte bei allen modernen Systemen aber der Fall sein denn das aufteilen der Threads managed das BS und nicht die Hardware. Ein einzelner Thread oder Programm kann niemals aufgeteilt und teile davon parallel bearbeitet werden. Das Problem was du mit deiner Datei hast liegt im Windows begraben. Da eine geschlossene datei nicht sofort vom Filesystem freigegeben wird, deine Anwendung hat ja erstmal den Fukos und somit priorität. Alle Funktionen im System werden eben nacheinander abgearbeitet. Das heist zuerst kommen deine 3 Paintaktionen und dann das Dateischließen sobald dein Programm auf die nächste Message vom Windows wartet. Es sei denn du würdest die Datei selber schließen, was aber blödsinn wäre. Wenn du ein Sleep einbaust dann wird dem Betriebssystem Zeit gegeben in der Programmpause was anderes zu machen und damit wird eine andere Aufgabe dazwischengeschoben - zum beispiel das schließen der Datei was noch vom Filemanager ansteht. Zum problem: warum lädst du dein Bild nicht in einen Container und zeichnest von dort aus (TBitmap) Gruß Matthias |
Re: Auf Beendigung einer Methode warten
Ok, wieder was gelernt. Ich hab auch mal genauer nachgelesen:
Zitat:
|
Re: Auf Beendigung einer Methode warten
BTW: Die CriticalSection kannst du auch getrost rauslassen, denn die helfen dir hier nicht.
Ein Prozess kann eine CriticalSection so oft betreten wie er möchte (nur andere Prozesse können nicht gleichzeitig). Einen anderen Prozess bekomme ich aber nur mit Threads, und die sind für VCL doof, also sind die CS überflüssig. cu Oliver |
Re: Auf Beendigung einer Methode warten
Zitat:
|
Re: Auf Beendigung einer Methode warten
Ok, die CS hab ich schon rausgenommen. Und werde nun auch die Datei puffern.
Auf jeden Fall danke für die neuen Erkenntnisse... ;-) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:54 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