AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Ressource-Datei erst zur Lautzeit der Programms einbinden
Thema durchsuchen
Ansicht
Themen-Optionen

Ressource-Datei erst zur Lautzeit der Programms einbinden

Ein Thema von s.h.a.r.k · begonnen am 30. Jan 2005 · letzter Beitrag vom 1. Feb 2005
Antwort Antwort
Benutzerbild von s.h.a.r.k
s.h.a.r.k

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

Ressource-Datei erst zur Lautzeit der Programms einbinden

  Alt 30. Jan 2005, 13:10
Hey!

Hab schon die Suche bemüht, aber bin nciht wirklich schlau draus geworden: Und zwar habe ich ein paar Bilder in drei verschiedene Ressource-Dateien gepackt und will diese aber nicht in die EXE-Datei einbinden, da diese dann auf stattliche 3,12 MB anwächst. Mir wäre es um einiges lieber, wenn ich die Ressourcen zur Laufzeit des Programm öffnen könnte!? Ich hab nur keine Ahnung wie ich des machen soll!


mfg shark
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
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, 14: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
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 23:39 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