Project

General

Profile

Actions

Support Request #8942

closed

Force reload of ADTF filter

Added by hidden over 4 years ago. Updated almost 4 years ago.

Status:
Closed
Priority:
Normal
Customer:
PORSCHE
Department:
Requester's Priority:
Normal
Support Level:
2nd Level
Resolution:
Solved Issue
Product Issue Numbers:
Affected Products:
Platform:
Windows 10 64bit
Topic:
ADTF::FilterGraph
FAQ Links:

Description

Supportanfrage

Ich bin auf der Suche nach einer Möglichkeit, in ADTF 2.14.3 einen Filter bei „init configuration“ stets neu zu laden, d.h. unload und load eines (oder auch aller) Filter-Plugins. Hintergrund sind interne Variablen in einer Zulieferer-Lib (die wiederum mehrere Dlls anzieht), die man nur so resettet bekommt. Man kann das von mir gewünschte Verhalten erzeugen, indem man den Filter-Graph vor jedem Start etwas modifiziert (z.B. Deaktivieren / Aktivieren eines „Dummy-Filters“). Das ist jedoch auf Dauer etwas lästig und für automatisierte Abläufe ungeeignet.

Ich habe bereits versucht, in der Shutdown StageFirst Routine (desselben oder auch eines anderen Filters) das betroffene Plugin mit _runtime->UnregisterPlugin(pPlugin); auszuwerfen. In dieser Richtung hab ich etwas herum experimentiert, komme aber auf keinen grünen Zweig.

Kennen Sie eine Methode, mit der ein Reload der Filter-Plugins erzwungen werden kann?

Lösung

Ein Plugin neuladen geht nur mittels shutdown des kompletten ADTF Systems... also Neustart, was für dich keinen Sinn macht. Allerdings denke ich dass das Design dann falsch gewählt wurde. Wenn eine Library angezogen wird, dann kann dies auch im Init des Filters erfolgen. Dann würde es bei jeden InitConfiguration auch neu instanziiert werden und ihr hiervon eure Settings machen. Natürlich auch im Shutdown des Filters entsprechend rauswerfen. Dann müsste es eigentlich gehen, denn wenn ich es richtig verstehe, geht es dir darum, dein Plugin anhand einer neu geladenen Library erneut zu initialisieren. Das wäre dann die Stelle.

Eine Änderung am Filtergraphen sollte kein Neuladen der Plugins auslösen. Nur wenn man an den Global Properties etwas ändert (auch an denen aus der Config) sollten die Plugins neu geladen werden.
Leider fällt mir auch keine Alternative zum manuellen Importieren der DLL ein.

Actions

Also available in: Atom PDF