Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Bilder DLL schreiben und laden (https://www.delphipraxis.net/121225-bilder-dll-schreiben-und-laden.html)

Terfio 24. Sep 2008 08:52


Bilder DLL schreiben und laden
 
Guten Morgen!


Nach ewigem versuchen habe ich es immernoch nicht hinbekommen eine DLL zu schreiben, die dann auch funktioniert...

Ich HABE die Such-Funktion bemüht und zwar gleiche Themen gefunden.....aber selbst wenn ich die vermeintlichen Lösungen sogar 1:1 kopiert habe....funktionierte es nicht.....

(ich benutze Delphi 6)

meine Bilder.rc :

Delphi-Quellcode:
 BILD1 JPEG "1.jpg"
Dann, wie es überall steht, den DLL-Wizard benutzt und dies eingefügt:

Delphi-Quellcode:
 {$R 'Bilder.res''Bilder.rc'}
soweit so gut.... compiliert ..... soweit klappt es, wenn ich die Host-Anwendung unter run/parameters
aud eine projekt.exe lege, die ich vorher erstellt hatte...

und zum Schluß diesen Quellcode in die projekt.exe eingefügt :

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
  h :HINST;
  r :TResourceStream;
  j :TJpegImage;
  i :integer;
begin
  h := LoadLibrary('Bilder.dll');
  if h <> 0 then
  begin
    r := TResourceStream.Create(h, BILD1, 'Jpeg');
    j := TJpegImage.Create;
      try
        j.LoadFromStream(r);
        Image1.Picture.Bitmap.Assign(j);
      finally
        j.Free;
        r.Free;
      end;
  end;
  FreeLibrary(h);
end;
  else
    RaiseLastOSError();
end;
Die Fehlermeldung ist, dass der Compiler "BILD1" nicht kennt....

kann mir da einer bitte helfen?
Es klappt einfach nicht, egal wie viele Foren ich durchsuche...

Vielen Dank im Vorraus schonmal

ich hoffe jmd hilft mir :)

TeronG 24. Sep 2008 09:08

Re: Bilder DLL schreiben und laden
 
Das "BILD1" steht bei dir aber schon in Hochkommas "'" oder? (also 'BILD1')

Terfio 24. Sep 2008 09:16

Re: Bilder DLL schreiben und laden
 
Jetzt ja....^^ (Danke schonmal :) )
Fehlermeldung hat sich dadurch schonmal etwas verändert.....

von einem undeclarierten 'BILD1' entsteht jetzt die Fehlermeldung, dass er die Ressource BILD1 nicht findet

Luckie 24. Sep 2008 09:23

Re: Bilder DLL schreiben und laden
 
Ist JPEG überhaupt ein gültiger Ressourcentyp?

DeddyH 24. Sep 2008 09:25

Re: Bilder DLL schreiben und laden
 
Ich meine auch, das müsste doch RCDATA heißen, oder?

Terfio 24. Sep 2008 09:36

Re: Bilder DLL schreiben und laden
 
Delphi-Quellcode:
BILD1 RCDATA "1.jpg"

so?

tut sich auch nichts anderes :(

TeronG 24. Sep 2008 09:55

Re: Bilder DLL schreiben und laden
 
Zitat:

Zitat von Luckie
Ist JPEG überhaupt ein gültiger Ressourcentyp?

jup ist es :mrgreen:

Auszug aus einem meiner anfangs-versuch-projecte
Code:
BILD1 JPEG "res\Borland.jpg"
BILD2 JPEG "res\Delphi.jpg"
BILD3 JPEG "res\Foto.jpg"
dll01 RCData "res\MBT.dll"

teebee 24. Sep 2008 09:56

Re: Bilder DLL schreiben und laden
 
Am Ressourcentyp kann es nicht liegen, den kann man frei definieren, wenn man möchte.

Dein Beispiel funktioniert bei mir auch problemlos. (Nach einer kleinen Korrektur an der Blockstruktur lässt es sich auch kompilieren.)

Bist Du sicher, dass das Bild auch in der DLL gelandet ist?
Wenn Du die rc-Datei mit "Dem Projekt hinzufügen..." einbindest, sparst Du Dir das manuelle Eintragen der Ressource.

Zum Erzeugen der DLL brauchst Du keine Host-Anwendung.

TeronG 24. Sep 2008 10:03

Re: Bilder DLL schreiben und laden
 
Zitat:

Zitat von teebee
Bist Du sicher, dass das Bild auch in der DLL gelandet ist?

Ist die DLL mindestens so groß wie dein(e) Bild(er)?

Terfio 24. Sep 2008 10:31

Re: Bilder DLL schreiben und laden
 
hmmm erst wars das...
jetzt hab ich ein sehr großes bild genommen und sehe....nein das ist nicht der fall....

wegen host anwendung.... der sagt mir wenn ich die nicht festlegen, dass eine hostanwendung fehlt und nicht compiliert werden kann....

"Cannot debug project unless a host application is defined. Use.... "
was soll ich da sonst machen? Oo


ich hab wohl in der reihenfolge irgendwo einen fehler gemacht :(


also ich hab die .rc datei

dann öffne ich den dll wizard
"new" -> "dll wizard"

speicher

dann die rc dem projekt hinzufügen und compilieren

so richtig?

edit :

habs jetzt nochmal neu mit "dem projekt hinzufügen" probiert....
anscheind hab ich an der falschen stelle das hingeschrieben gehabt (ich schäm mich ja schon ^^)

trotzdem sind jetzt 3 fehlermeldungen da

[Error] WARNING. Duplicate resources:
[Error] Type 14 (ICON GROUP), ID MAINICON:
[Error] File C:\...\Bilder.res resource kept; file C:\...\Bilder.res resource discarded:

also konnte er diese datei nicht wirklich erkennen? oder wie?
mir fällt es schwer sowas zu deuten :(


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:36 Uhr.
Seite 1 von 2  1 2      

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