Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi .rc-Datei lässt sich nicht aus Projekt entfernen?!? (https://www.delphipraxis.net/108113-rc-datei-laesst-sich-nicht-aus-projekt-entfernen.html)

Muetze1 8. Feb 2008 12:50

Re: .rc-Datei lässt sich nicht aus Projekt entfernen?!?
 
Naja, anstatt Delphi-Referenz durchsuchenTFileStream.Create einfach Delphi-Referenz durchsuchenTResourceStream.Create nutzen. Die Parameter im Constructor erklären sich dann von alleine und deine Frage sollte sich damit denn erledigen...

Pixelex 8. Feb 2008 21:47

Re: .rc-Datei lässt sich nicht aus Projekt entfernen?!?
 
Zitat:

Zitat von Muetze1
Naja, anstatt Delphi-Referenz durchsuchenTFileStream.Create einfach Delphi-Referenz durchsuchenTResourceStream.Create nutzen. Die Parameter im Constructor erklären sich dann von alleine und deine Frage sollte sich damit denn erledigen...

Da versteh ich nur Bahnhof. Habe es doch sonst per Stream so geladen oO

Delphi-Quellcode:
p := tpngobject.Create;
p.LoadFromResourceName(HInstance, 'G001');
SplashGrafik.Picture.Assign(p);
freeandnil(p);
Nix mit TFileStream etc...

Da müsstest du mir nun schon ein praktisches Beispiel mit LoadPNGIntoBitmap32 liefern. :/

Muetze1 9. Feb 2008 17:01

Re: .rc-Datei lässt sich nicht aus Projekt entfernen?!?
 
Ja sorry, aber da war meine Antwort ein Schnellschluß. Du nutzt den TFileStream nicht und von daher war das natürlich Schwachfug von mir. Dieser Thread handelt eigentlich eh davon die RC Datei einzubinden, von daher empfehle ich dir einfach nochmal einen neuen Thread aufzumachen mit der Frage, wie man ein LoadPNGIntoBitmap32() mit einer Resource füttern kann. Oder teebee erläutert das noch genauer...

teebee 9. Feb 2008 19:29

Re: .rc-Datei lässt sich nicht aus Projekt entfernen?!?
 
Ok, dann will ich mal. Hier sind die beiden Prozedur-Versionen von LoadPNGintoBitmap32:
Delphi-Quellcode:
procedure LoadPNGintoBitmap32(DstBitmap: TBitmap32; Filename: String; out AlphaChannelUsed: Boolean); overload;
procedure LoadPNGintoBitmap32(DstBitmap: TBitmap32; SrcStream: TStream; out AlphaChannelUsed: Boolean); overload;
Die Version, die Pixelex benutzt hat, ist die mit dem Filenamen. Dort wird erst ein Filestream erzeigt, und dieser an die eigentliche Arbeitsversion durchgereicht:
Delphi-Quellcode:
procedure LoadPNGintoBitmap32(DstBitmap: TBitmap32; Filename: String; out AlphaChannelUsed: Boolean);
var
  FileStream: TFileStream;
begin
  FileStream := TFileStream.Create(Filename, fmOpenRead);
  try
    LoadPNGintoBitmap32(DstBitmap, FileStream, AlphaChannelUsed);
  finally
    FileStream.Free;
  end;
end;
Um jetzt eine Grafik aus einer Resource zu laden, muss ich einen TResourceStream erzeugen, und diesen an LoadPNGintoBitmap32 übergeben.
Delphi-Quellcode:
Var ResStream: TResourceStream;
begin
  ResStream := TResourceStream.Create(hInstance, 'G001', RT_RCDATA);
  try
    LoadPNGintoBitmap32(DstBitmap, ResStream, AplhaChannelUsed);
  finally
    ResStream.Free;
  end;
end;
Gruß, teebee

Pixelex 9. Feb 2008 22:10

Re: .rc-Datei lässt sich nicht aus Projekt entfernen?!?
 
Jop habs hinbekommen! Danke für eure Antworten, nun läuft alles!!


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:55 Uhr.
Seite 3 von 3     123   

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