Einzelnen Beitrag anzeigen

Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#2

Re: Ressource-Datei erst zur Lautzeit der Programms einbinde

  Alt 1. Feb 2005, 15:27
Tja...

Wenns keiner weiß muss ich es halt selber beantworten (hab auch hilfe bekommen - muss ich ja gestehen) Und zwar geht im Prinzip wie mir RES- oder RC-Dateien:

Man erstellt sich eine RC-Datei mit den gewünschten Daten. Danach erstellt man kein neues Projekt sondern ein DLL-Datei. Dabei kann man ruhig die USES-Klauseln rauslöschen, wenn man keine Funktionen darin speichern will, denn dann wird die DLL noch ein bisschen kleiner. Wenn man also diese neue DLL in Delphi erstellt hat geht man im MainMenu von Delphi auf "Projekt" und dann auf "Dem Projekt hinzufügen". Dort wählt man dann die gewünschte einzubindende RC-Datei aus. Danach compiliert man die DLL und kann sie verwenden.

Um die Inhalte der DLL-Datei auszulesen benutzt man den folgenden Code:
Code:
// "mydll" ist der die compilierte DLL
// Vorher muss man noch n Image auf die Form setzen
// der Name "meinbild" ist der Titel den man in der RC-Datei verwendet
procedure TForm1.Button1Click(Sender: TObject);
var
  Lib: Integer;
begin
  Lib := LoadLibraryEx('mydll.dll', 0, LOAD_LIBRARY_AS_DATAFILE);
  if Lib <> 0 then
  try
    Image1.Picture.Bitmap.LoadFromResourceName(Lib, 'meinbild');
  finally
    FreeLibrary(Lib);
  end else
    raise Exception.Create('Fehler in der Ressourcen-DLL...');
end;
Wenn ihr noch Fragen zu diesem Code habt....
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat