![]() |
FFEncoder in DLL
Hallo,
ich benutze die Komponenten von FFVCL, speziell den FFEncoder. Ich erstelle Videos aus einer Ansammlung (Verzeichnis) von Bitmaps. Das klappt, sogar mit wählbarer Vorschau. Wenn es sich um eine Anwendung mit Hauptforumlat und den Mainthread handelt. Jetzt soll das ganze Procedere aber in einer DLL (Plugin) laufen. - die komponenteneigene Vorschau (Preview) geht gar nicht, die Anwendung ist fest - eine aus "Previewbitmaps" anzuzeigende Vorschau geht auch nicht, Anwendung hängt - schaltet man beide Vorschauen mittels den entsprechenden Properties ab, gehts manchmal Nun hat die Komponente reichlich Ereignisse, und man kann (per Smartinpect) feststellen, daß der Prozeß noch die Startroutine durchläuft, alles Weitere schon nicht mehr. Jetzt wirds verrückt: Geht man mit dem Debugger in die Arbeitsroutine der Komponente, kann es sein, das der Prozeß ohne Festgehen durchlaufen wird. Wir sind ratlos. ism |
AW: FFEncoder in DLL
Klingt mächtig nach einem DeadLock. Beim Debuggen in der IDE findet man die selten da meißt nur der Thread wirklich "läuft" in dem man gerade drinne ist.
|
AW: FFEncoder in DLL
Zitat:
Hintergrund ist das GUI-Ressourcen nur im erzeugenden Thread gültig sind. Und bei der VLC kommt dazu das diese teilweise "wie Wild" auf globale Ressourcen wie auf die Application-Instanz, Screen oder ähnliches zugreift. Und wenn man mit Threads arbeitet kann man da einige Instabilitäten Reinbekommen, wenn man nicht aufpasst. |
AW: FFEncoder in DLL
Wird die DLL und die Anwendung denn mit Packages compiliert?
|
AW: FFEncoder in DLL
Hilft zwar der ursprünglichen Frage nicht, aber das
Zitat:
Regeln: TBitmap.Canvas mit Lock/Unlock gegen Zugriffe der Delphi-GDI-Aufräumung schützen Draw und Stretchdraw sind auch damit nicht threadsafe Wenn mehrere Threads auf die gleiche Bitmap zugreifen, dürfen sie nie GetScanline benutzen Unter Beachtung dieser Regeln habe ich noch nie Probleme mit threads und TBitmap gehabt. (Außer bei Verwendung von TTask..) Renate |
AW: FFEncoder in DLL
Hallo,
die Anwendung + DLL wird ohe Laufzeitpackages compiliert |
AW: FFEncoder in DLL
Zitat:
Du kannst ja mal probieren, ob es mit Runtime-Packages funktioniert. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:26 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