AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Meta Data in binaries(dll) einbinden

Ein Thema von Billi Berserker · begonnen am 25. Sep 2007 · letzter Beitrag vom 25. Sep 2007
Antwort Antwort
Billi Berserker
(Gast)

n/a Beiträge
 
#1

Meta Data in binaries(dll) einbinden

  Alt 25. Sep 2007, 12: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
OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#2

Re: Meta Data in binaries(dll) einbinden

  Alt 25. Sep 2007, 13:12
Also, zunächst einmal gibt es, wenn ich mich recht erinnere, die Möglichkeit, eine DLL als reine Datenbibliothek zu laden. Es wird also kein DllMain-Code ausgeführt usw., aber du kannst die Ressourcen der DLL laden. Vielleicht reicht dir das schon.
Ansonsten gibt es hier im Forum diverse Threads dazu, wie man Daten an eine EXE anhängen kann, das könnte man sicherlich auch für DLLs benutzen.
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:28 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz