![]() |
Re: Bild über Ressource-Dll laden
Erstmal danke für deine schnelle Antwort.
Das ist der Quellcode von meinem Testprogramm:
Delphi-Quellcode:
Der Code meiner DLL:
unit testunit;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls; type TForm1 = class(TForm) Image1: TImage; procedure FormCreate(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); VAR LibHandle: HINST; Bitmap: TBitmap; BEGIN LibHandle:=Loadlibrary(PChar(ExtractFilePath(ParamStr(0))+'NAME.dll')); IF LibHandle <> 0 THEN BEGIN Bitmap:=TBitMap.Create; TRY Bitmap.LoadFromResourceID(LibHandle, 1); Image1.Canvas.Draw(0,0,Bitmap); FINALLY Bitmap.Free; END; FreeLibrary(LibHandle); END ELSE RaiseLastOSError(); end; end.
Delphi-Quellcode:
Meine *.rc-Datei:
library NAME;
{$R *.res} {$R 'BILDER.res' 'BILDER.rc'} begin end.
Delphi-Quellcode:
Und der Inhalt meines Testordners:
1 BITMAP "zoid.bmp"
![]() Mal ne blöde Frage: gibt es einen Unterschied im Kompilieren von *.dll Dateien im Vergleich zu normalen Projekten? Ich hab nähmlich gemerkt, dass nach dem vermeindlichen Kompiliren zwar ne *.res aber keine *.drc Datei im Ordner war :gruebel: Zu meiner Verteidigung: Ich bin blutiger Anfänger in Sachen dll und versuche jetzt so im Moment nach und nach den Durchblick zu bekommen. :angel2: |
Re: Bild über Ressource-Dll laden
Zitat:
jedoch bemerke ich das du keine BILDER.res-Datei im Ordner hast! Ich schließe deshalb mal darauf du hast die DLL nicht compiliert (im Projektmanager rechtsklick auf das DLL Projekt) oder du hast es falsch oder gar nicht eingebunden, was sich aber mit dem Quelltext wiederspricht. EDIT: Du kannst ja mal im Projektmanager gucken ob da die *.rc angezeigt wird, wenn nich dann mal von dort (rechtsklick auf das Projekt, dann Hinzufügen, dort *.rc wählen ... naja und dann mal schauen) Zitat:
|
Re: Bild über Ressource-Dll laden
Hmm ich habs jetzt nochmal Versucht, jetzt stehe ich aber vor folgendem Problem:
Zitat:
"[DCC Fehler] E1026 Datei nicht gefunden: 'BILDER.res'" :gruebel: mfg |
Re: Bild über Ressource-Dll laden
dann versuchs mal mit erzeugen ^^
bzw. das über den Projektmanager hinzufügen... |
Re: Bild über Ressource-Dll laden
Erzeugen geht genauso wenig ..... -> gleicher Fehler
|
Re: Bild über Ressource-Dll laden
Wie gesagt hast du im Projektmanager die *.rc ?
|
Re: Bild über Ressource-Dll laden
So ich muss mich berichtigen: das res Problem scheint soweit gelöst...
Jetzt hab ich beim kompilieren der DLL noch folgenden Fehler: [DCC Fehler] E2161 Warning: Duplicate resource: Type 2 (BITMAP), ID 1; File E:\Delphi\Meine Programme\test\BILDER.res resource kept; file E:\Delphi\Meine Programme\test\BILDER.res resource discarded. :roll: .... Stop hat sich erledigt ... hatte was doppelt in der dll ... |
Re: Bild über Ressource-Dll laden
Soweit sogut, beides -> Projekt sowie dll lassen sich jetzt einwandfrei compilieren, aber wenn ich die dll mit f9 starten will, um die eigendliche dll datei im ordner zu erstellen, bekomme ich nen Fehler...
![]() |
Re: Bild über Ressource-Dll laden
Also ich bitte dich, der Fehler sagt doch alles oder ? Die Fehlermeldung ist sogar auf Deutsch, mach mal genau das was die Fehlermeldung besagt! Host-Anwendung ist dein Testprojekt ;)
|
Re: Bild über Ressource-Dll laden
Ja schon klar, aber wenn ich die ganze Sache über die Hostanwendung, also mein Projekt starte sagt er nichts anderes als "Systemfehler Code 126 Das angegebende Modul wurde nicht gefunden".
Und ich dachte, dass es vielleicht daran liegt, dass ich auch nach dem compilieren der dll keine *.dll Datei in meinem Verzeichnis hab. :twisted: ________ Naja solangsam ists genug, ich werd jetz noch ne weile herumprobieren...vielleicht bekomm ichs hin. Ansonsten noch ein ganz großes Dankeschön für deine Hilfe. Achja falls du bei dir irgendwo ein Beispielprojekt liegen hast wäres super wenn du mir das mal schicken könntest, vielleicht hilft mir das weiter ... mfg |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:17 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz