Einzelnen Beitrag anzeigen

Billi Berserker
(Gast)

n/a Beiträge
 
#1

Meta Data in binaries(dll) einbinden

  Alt 25. Sep 2007, 11:01
Mich würden mal lösungsansätze interessieren wie man am besten bestimmte Informationen (Meta Data) in fertig kompilierte libraries einbindet und besonders wie man das ganze am besten auslesen kann.

Das Problem ist folgendes,
Ich hab ein plugin system wobei jedes plugin durch eine dll Datei repräsentiert wird. Die plugins werden natürlich dynamich zur Laufzeit geladen (insofern sie benutzt werden). Nun muß ich aber zu jeder dll Datei bestimmten Informationen speichern. Z.b. Description, Author, Type, ...
Was ich ebend nicht möchte ist zu jeder dll eine extra xml Datei mitzuliefern wo diese Daten drin stehen. Ich würde es also gerne irgendwie in der dll selbt speichern.

Eine Lösung wäre die dll einfach eine funktion exportieren lassen die die Daten zurück gibt.
Delphi-Quellcode:
function GetMetaData : TMyMetaData;
begin
  result.Description := 'Something';
  result.ServiceType := stSystem;
end;

export
  GetMetaData;
Das Problem damit wäre das die dll erst mit LoadLibrary geladen werden muß um an die Daten ran zu kommen und brauch die Daten eigentlich bevor die dll geladen wird (weil nur die dlls geladen werden die auch wirklich gebraucht werden).

Was wären weitere Möglichkeiten? Könnte man die Daten irgendwie als eine art Ressource String in die dll rein kompilieren und dann auslesen ohne die dll komplett zu laden? Oder gäbe es noch komplett andere Möglichkeiten?
  Mit Zitat antworten Zitat