Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Icon aus DLL laden (https://www.delphipraxis.net/7898-icon-aus-dll-laden.html)

Pseudemys Nelsoni 23. Aug 2003 22:31


Icon aus DLL laden
 
hallo, sorry ist dann auch mein letzter thread für heute (bis 0 uhr :D).
alsoich habe eine dll erstellt in dem alle icons sind(z.G sind sie auch transparent)...aber ich bekomme diese nicht geladen. Ich habe es dem code aus der code library abgeschaut, bloss das ich statt JPG icon genomme habe. Also das ganze sah dann so aus:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  h :HINST;
  r :TResourceStream;
  ic :TIcon;
  i :integer;
begin
  h := LoadLibrary('icons.dll');
  if h <> 0 then
  begin
    r := TResourceStream.Create(h, 'connect', 'ICON');
    ic := TIcon.Create;
      try
        ic.LoadFromStream(r);
        Image1.Picture.Icon.Assign(ic);
      finally
        ic.Free;
        r.Free;
      end;
  end;
  FreeLibrary(h);
end;
wieos geht das nun nicht? bei einem klick auf den button passiert gar nichts

Pseudemys Nelsoni 23. Aug 2003 22:58

Re: Icon aus DLL laden
 
ach es ging doch, die dll war nur im falschen ordner....ich bekomme nur die fehlermeldung "Resource connect wurde nicht gefunden"... sie is aber drin und ich hab es so in die res eingetragen:

connect ICON "connect.ico"

ist das falsch?

Christian Seehase 23. Aug 2003 23:35

Re: Icon aus DLL laden
 
Moin silent,

versuch's mal RT_ICON statt mit ICON.

[EDIT]
Ich meine für die Typangabe in TResourceStream.Create.
Nicht in der Resourcendatei
[/EDIT]

Pseudemys Nelsoni 23. Aug 2003 23:42

Re: Icon aus DLL laden
 
hallo christian,

ich denke mal du meintest das so, oder?:

Delphi-Quellcode:
    r := TResourceStream.Create(h, 'connect', 'RT_ICON');
kommt aber selber fehler :\

Christian Seehase 24. Aug 2003 00:06

Re: Icon aus DLL laden
 
Moin Silent,

seltsam, so ist es zumindest dokumentiert, und ansonsten sieht alles richtig aus.

Hast Du ein Programm, mit dem Du Dir Resourcen ansehen kannst?
Damit würde ich jetzt mal die DLL anschauen, ob die Resource von einem anderem Programm gefunden wird.
Du könntest auch mit Hilfe einer der Demos die bei Delphi eigentlich mitgeliefert werden, nämlich dem ResourceExplorer, nachschauen, wenn Du sonst nichts dafür hast.

Aya 24. Aug 2003 00:40

Re: Icon aus DLL laden
 
Hi,

versuch es mal so:
Delphi-Quellcode:
r := TResourceStream.Create(h, 'connect', RT_ICON);
//oder
r := TResourceStream.Create(h, 'connect', RT_GROUP_ICON);
Au'revoir,
Aya~

Pseudemys Nelsoni 24. Aug 2003 00:41

Re: Icon aus DLL laden
 
hallo christian, doch die resourcen sind da, siehe hier:

http://www.angelfire.com/bug/delphi/reshack.JPG

Pseudemys Nelsoni 24. Aug 2003 00:50

Re: Icon aus DLL laden
 
hallo aya,

bei dem erstem kommt das gleiche, also das "connect" nicht gefunden wird...bei letzterem kommt "systemresourcen erschöpft"

Aya 24. Aug 2003 00:53

Re: Icon aus DLL laden
 
Hi,

dann versuch es mal mit LoadImage.

Delphi-Quellcode:
Ico.Handle:=LoadImage(h,MAKEINTRESOURCE(ResID),IMAGE_ICON,0,0,LR_DEFAULTCOLOR);
Au'revoir,
Aya~

Christian Seehase 24. Aug 2003 00:56

Re: Icon aus DLL laden
 
Moin silent,

dann mal ohne ResourceStream:

Delphi-Quellcode:
var
  h :HINST;
  ic :TIcon;
  i :integer;
begin
  h := LoadLibrary('icons.dll');
  if h <> 0 then
  begin
    ic := TIcon.Create;
    try
      ic.Handle := LoadIcon(h,'connect');
      Image1.Picture.Icon.Assign(ic);
    finally
      ic.Free;
    end;
  end;
  FreeLibrary(h);
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:05 Uhr.
Seite 1 von 3  1 23      

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