Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Ressourcendatei erstellen - Probleme (https://www.delphipraxis.net/183949-ressourcendatei-erstellen-probleme.html)

Grayknife 16. Feb 2015 01:10

Ressourcendatei erstellen - Probleme
 
Hallo DPler, :)

Wie der Überschrift schon zu entnehmen ist, habe ich ein Problem bei dem Ressourcen erstellen.

Ich möchte gerne Ein Bitmap-Bild in die Ressource RessourcenBilder.res laden. Dazu habe ich, wie man fast überall findet, erst eine RessourcenBilder.rc Datei erstellt. Anschließend habe ich reingeschrieben:

Delphi-Quellcode:
Fadenkreuz BMP "Fadenkreuz.bmp"
Hat alles geklappt, Ressourcendatei erstellt.

Nun im Implementationsteil unter

Delphi-Quellcode:
{$R *.dfm}
{$R RessourcenSound.res}
{$R RessourcenBilder.res}
verwiesen.
Jetzt in meiner Prozedur:
Delphi-Quellcode:
procedure Tform1.Bilderladen;
begin
 Fadenkreuz:=TBitmap.Create;    //Fadenkreuz wird erstellt.
 Fadenkreuz.LoadfromResourceName(HInstance,'Fadenkreuz'); //Fadenkreuz wird geladen.
end;
Jedoch, wenn ich das Programm starte steht dort in der Fehlermeldung: "Ressource Fadenkreuz wurde nicht gefunden."

Was mache Ich falsch?`:pale: :pale:

- Kann man mehrere Ressourcen laden (Sprich, RessourcenSound.res , RessourcenBilder.res,...)(Außer *.dfm) Ich habe es auch schon versucht in eine Ressource zu packen, kommt aber aufs gleiche raus.
- Wenn man in der *.rc datei "Bitmap" als dateiart eingibt funktioniert es nicht, mit "RT_Bitmap" geht es wieder.

Viele Grüße

Grayknife

Blup 16. Feb 2015 10:55

AW: Ressourcendatei erstellen - Probleme
 
Code:
Fadenkreuz BITMAP "Fadenkreuz.bmp"

Grayknife 16. Feb 2015 14:32

AW: Ressourcendatei erstellen - Probleme
 
@Blup das hatte ich schon versucht gehabt, jedoch wird dann garkeine .res datei erstellt :(

rwalper 16. Feb 2015 14:44

AW: Ressourcendatei erstellen - Probleme
 
Versuch mal Folgendes:
Delphi-Quellcode:
{$R 'RessourcenBilder.res' 'RessourcenBilder.rc'}

Grayknife 16. Feb 2015 15:09

AW: Ressourcendatei erstellen - Probleme
 
@Blup Wenn ich so versuche die .res-Datei zu erstellen kommt die Meldung bei cmd: "Error Could not open input file RessourcenBilder.rc". Wenn ich die .rc datei in den Binordner zu delphi mit adminrechten rüber in den gleichen Ordner schiebe kommt die Meldung: " Fatal error Filce creation failed" .

@rwalper Also wenn dort steht:
Delphi-Quellcode:
{$R *.dfm}
{$R RessourcenSound.res}
{$R 'RessourcenBilder.res' 'RessourcenBilder.rc'}
kommt die gleiche Fehlermeldung. Auch wenn sich alles im gleichen Ordner befindet :(

edit: Was bedeutet denn dieses 'HInstance' (so als Verständnisfrage^^)?

rwalper 17. Feb 2015 13:05

AW: Ressourcendatei erstellen - Probleme
 
Liste der Anhänge anzeigen (Anzahl: 1)
Also bei mir funktioniert es :-( Ich habe Dir mal ein schnell zusammengeklicktes Beispiel angehangen.

Übrigens: Die Vorgehensweise mit
Delphi-Quellcode:
{$R 'Resourcenbilder.res' 'Resourcenbilder.rc'}
hat den Nachteil, dass der Linker ab dem 2. Compilieren die Meldung "Duplicate resource..." bringt, da dann die res-Datei schon existiert.

Alternativ könntest Du die res-Datei manuell (bei Bedarf) per Kommandozeile erstellen:
Code:
"C:\Program Files\Embarcadero\RAD Studio\10.0\bin\brcc32.exe" -32 -foResourcenbilder.res Resourcenbilder.rc

himitsu 17. Feb 2015 13:19

AW: Ressourcendatei erstellen - Probleme
 
Zitat:

Zitat von rwalper (Beitrag 1290188)
Übrigens: Die Vorgehensweise mit
Delphi-Quellcode:
{$R 'Resourcenbilder.res' 'Resourcenbilder.rc'}
hat den Nachteil, dass der Linker ab dem 2. Compilieren die Meldung "Duplicate resource..." bringt, da dann die res-Datei schon existiert.

Dann stimmt aber was Anderes nicht!

Die Syntax
Delphi-Quellcode:
{$R 'Resourcenbilder.res'}
// oder
{$R Resourcenbilder.res}
// oder
{$RESSOURCE 'Resourcenbilder.res'}
// oder
{$RESSOURCE Resourcenbilder.res}
besagt "binde diese Resourcen-Datei ein"

und
Delphi-Quellcode:
{$R 'Resourcenbilder.res' 'Resourcenbilder.rc'}
// oder
{$RESSOURCE 'Resourcenbilder.res' 'Resourcenbilder.rc'}
besagt "binde diese Resourcen-Datei ein und wenn nicht vorhanden oder verändert, dann kompiliere sie neu" , so als wenn man vorher brcc32 aufrufen würde.

(ältere Delphis verstehen das aber noch nicht)

Uwe Raabe 17. Feb 2015 13:22

AW: Ressourcendatei erstellen - Probleme
 
Zitat:

Zitat von rwalper (Beitrag 1290188)
Übrigens: Die Vorgehensweise mit
Delphi-Quellcode:
{$R 'Resourcenbilder.res' 'Resourcenbilder.rc'}
hat den Nachteil, dass der Linker ab dem 2. Compilieren die Meldung "Duplicate resource..." bringt, da dann die res-Datei schon existiert.

Das liegt aber daran, daß du die res-Datei auch zweimal einbindest: einmal in Unit1.pas und einmal in RC_Test.dpr.

Das Konstrukt mir {$R xxx.res xxx.rc} funktioniert sowieso nur innerhalb der dpr. Innerhalb einer Unit wird der rc-Part ignoriert.

rwalper 17. Feb 2015 14:08

AW: Ressourcendatei erstellen - Probleme
 
Wieder was dazugelernt:-D

Grayknife 17. Feb 2015 18:19

AW: Ressourcendatei erstellen - Probleme
 
@rwalper wahh, wenn ich deine angehängten Dateien runterlade, entzippe, alles in einen Ordner speichere und anschließend mit Delphi öffne, ist fast alles rot gemarkert >.<

Da fängt es mit den
Delphi-Quellcode:
uses
  Vcl.Forms,
  Unit1 in 'Unit1.pas' {Form2};

{$R *.res}

begin
  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  Application.CreateForm(TForm2, Form2);
  Application.Run;
end.
an, und geht in der Unit1 weiter, angefangen auch bei den Uses :0

Liegt das an meiner Delphi-version? Habe
Borland® Delphi® für Microsoft® Windows™ Version 10.0.2288.42451 Update 2 Copyright © 2005 Borland® Software Corporation.

Auch wenn ich einfach deine ResourcenBilder.res Datei in meinen Ordner ziehe und den Quelltext entsprechend ändere, bekomme ich wieder nur den Fehler "Ressource Fadenkreuz.bmp wurde nicht gefunden" ...


OUhh ganz GROßES EDIT!!! -> Quelltext falsch geändert! Richtig gestellt, und dein Bild nimmt er @rwalper :D Habe die ResourcenBILDER.res Datei rübergezogen, in Re[s]sourcenBilder.res geändert.. und schon hats geklappt, leider nur mit dem falschen Bild :D

Dann liegt es also wirklich an der .rc Datei das es Fadenkreuz BITMAP "Fadenkreuz.bmp" nicht nimmt?! Also das die brcc32.exe kaputt ist? o:


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:12 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