AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi D11 RCDATA Resource wird nicht erkannt
Thema durchsuchen
Ansicht
Themen-Optionen

D11 RCDATA Resource wird nicht erkannt

Ein Thema von venice2 · begonnen am 11. Sep 2021 · letzter Beitrag vom 11. Sep 2021
Antwort Antwort
Seite 1 von 2  1 2      
venice2
(Gast)

n/a Beiträge
 
#1

D11 RCDATA Resource wird nicht erkannt

  Alt 11. Sep 2021, 01:28
Programm wird mit den Flags kompiliert.
Sollte kein Problem sein.
Delphi-Quellcode:
program OTTB64;
{$WEAKLINKRTTI ON}
{$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])}
{$R '_resources\OTTB64.res' '_resources\OTTB64.rc'}

Pfade stimmen.

BLUP.bin befindet sich im gleichen Ordner wie die *.rc Datei.
PROGRAM.ico genauso.

D10.4 keine Probleme D11 meldet Blub in der Resource nicht gefunden.

Edit:
Habe nochmal in die *.exe und der *.res mit ResHacker geschaut dort steht RCData drin (Siehe Shot) wird aber mit
Delphi-Quellcode:
      if gP.SoundActive then
      begin
        Res := TResourceStream.Create(hInstance, 'BLUP', 'WAV');
        try
          Res.Position := 0;
          SndPlaySound(Res.Memory, SND_MEMORY or SND_ASYNC);
        finally
          Res.Free;
        end;
      end;
nicht mehr erkannt.

Geändert von venice2 (11. Sep 2021 um 16:09 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#2

AW: D11 RCDATA Resource wird nicht erkannt

  Alt 11. Sep 2021, 02:59
Wo ist die .RC eingebunden?
In PAS oder DPR/DPK?

{$R unterstützt den zweiten Parameter ausschließlich in der Projektdatei.



Außerdem, ist in den Projekt-Optionen die Versionsinfo doch bestimmt deaktiviert?
Sollte ja, denn sonst würde es ja der Linker anmerken, dass das die doppelte Ressource nicht eingebunden wurde.


[edit]
hmmmm.

Du erstellst die Ressource als ResTyp RCDATA, aber beim Laden sagst du stattdessen WAV.
$2B or not $2B

Geändert von himitsu (11. Sep 2021 um 03:04 Uhr)
  Mit Zitat antworten Zitat
venice2
(Gast)

n/a Beiträge
 
#3

AW: D11 RCDATA Resource wird nicht erkannt

  Alt 11. Sep 2021, 03:07
Wo ist die .RC eingebunden?
In PAS oder DPR/DPK?

{$R unterstützt den zweiten Parameter ausschließlich in der Projektdatei.



Außerdem, ist in den Projekt-Optionen die Versionsinfo doch bestimmt deaktiviert?
Sollte ja, denn sonst würde es ja der Linker anmerken, dass das die doppelte Ressource nicht eingebunden wurde.


[edit]
hmmmm.
Delphi-Quellcode:
unit uMain;

interface

{$R '_resources\OTTB64.res' '_resources\OTTB64.rc'}
{$R '_resources\Manifest64.res'}
Hatte ich bisher immer so unter D10.4

Delphi-Quellcode:
program OTTB64;
{$WEAKLINKRTTI ON}
{$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])}

{$R '_resources\OTTB64.res' '_resources\OTTB64.rc'}
in der *.dpr
Auch hier Ressource wird nicht gefunden.

Geändert von venice2 (11. Sep 2021 um 16:09 Uhr)
  Mit Zitat antworten Zitat
venice2
(Gast)

n/a Beiträge
 
#4

AW: D11 RCDATA Resource wird nicht erkannt

  Alt 11. Sep 2021, 03:19
Da ist wohl was anderes im argen.
Eigentlich sollte doch die *.res aus der *.rc erstellt werden.
{$R '_resources\OTTB64.res' '_resources\OTTB64.rc'}

Nur warum funktioniert das nicht immer zuverlässig?
Lösche ich die OTTB64.res dann wird mir gemeldet das sie nicht existiert.
Aber warum muß sie existieren wenn Sie doch aus der *.rc erstellt wird.

konfus das ganze.. wieder mal.
Ich gebe explicit OTTB64.res als Ressourcen Datei an und trotzdem wird zusätzlich noch eine Projekt1.res erzeugt unverständlich und sinnlos.

Geändert von venice2 (11. Sep 2021 um 06:06 Uhr)
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.960 Beiträge
 
Delphi 12 Athens
 
#5

AW: D11 RCDATA Resource wird nicht erkannt

  Alt 11. Sep 2021, 10:00
Wenn du auf Subskription bist (wovon ich ausgehe) dann könntest du einen offiziellen Supportfall unter
https://supportforms.embarcadero.com/ aufgeben.
Dann würde dich ein EMBT Mitarbeiter zeitnah kontaktieren und sich das Problem anschauen.
Evtl. findet ihr dann eine Lösung, falls nicht hier im Forum noch was auftaucht.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#6

AW: D11 RCDATA Resource wird nicht erkannt

  Alt 11. Sep 2021, 10:21
Nachmal: Du erstellst eine RCDATA-Ressource, aber willst dann nach WAV suchen.
Probiere es mal mit der Konstante RT_RCDATA im Create.


Zitat:
Delphi-Quellcode:
unit uMain;

interface

{$R '_resources\OTTB64.res' '_resources\OTTB64.rc'}
Wie gesagt, das mit dem zweiten Parameter funktioniert ausschließlich in den Projektdateien.
An den anderen Stellen müsstest du selbst die .RES aus der .RC erstellen, mit brcc32.exe oder rc.exe .

Aber als Alternative würde ich dir die Projekt-Ressource empfehlen.
> Menü > Projekt > Ressourcen und Bilder
Hier nur aufpassen, falls man über die Console kompilieren möchte, denn dann ist es ratsam über MSBuild die .DPROJ anstatt der .DPR zu kompilieren.

Es ginge sogar, dass man Fremddateien einfach ins Projekte-Fenster zu ziehen, also zu/neben den Units unterhalb des Projektes, wo dann der RessourcenName aus dem Dateinamen gebildet wird.
Was zu praktisch ist, wenn man diese Textdateien (z.B. HTML, XML usw.) direkt im Delphi-Exitor bearbeiten/betrachten können möchte.
$2B or not $2B

Geändert von himitsu (11. Sep 2021 um 10:25 Uhr)
  Mit Zitat antworten Zitat
venice2
(Gast)

n/a Beiträge
 
#7

AW: D11 RCDATA Resource wird nicht erkannt

  Alt 11. Sep 2021, 11:11
Zitat:
Nachmal: Du erstellst eine RCDATA-Ressource, aber willst dann nach WAV suchen.
Nochmal nein.

Ich verwende für beide Delphi Versionen die gleichen Dateien um meine Ressource zu bilden.
Bei D10.4 wird der Eintrag "Blup" unter WAV erstellt und mit den gleichen Daten unter D11 der gleiche Eintrag "Blup" unter RCDATA.

Ich hoffe es kommt jetzt rüber was ich meine.

Das dann unter D11 die Ressource Blup nicht gefunden wird ist schon logisch wenn ich sie mit
Res := TResourceStream.Create(hInstance, 'BLUP', 'WAV');
einlesen möchte.

Irgend etwas verträgt sich da nicht.
Vor allem wenn ich sehe das 2 Ressourcen für die gleiche Anwendung erstellt werden.
Einmal Projekt1.res und OTTB64.res.

Zitat:
Aber als Alternative würde ich dir die Projekt-Ressource empfehlen.
Nein nicht für Win32API Anwendungen "Nonvcl"

Zitat:
Es ginge sogar, dass man Fremddateien einfach ins Projekte-Fenster zu ziehen
Ist mir bekannt und das mache ich auch so. Danke
Zitat:
wo dann der RessourcenName aus dem Dateinamen gebildet wird.
Dann würde sich erklären warum ich 2 Ressourcen habe. Werde ich dann wohl löschen müssen.

EDIT:

Beide Ressourcen gelöscht. Projekt (VCL) zum Testen angehängt.
Kompilieren. Im Ordner _resources nachschauen und siehe da 2 Ressourcen werden erstellt.

Es werden auch schöne Sachen in die Exe ein kompiliert. Alles durcheinander
Startet man die Exe wird das Projekt Icon nicht angezeigt. Im Dialog (Eigenschaften) aber schon.

Geändert von venice2 (11. Sep 2021 um 16:10 Uhr)
  Mit Zitat antworten Zitat
venice2
(Gast)

n/a Beiträge
 
#8

AW: D11 RCDATA Resource wird nicht erkannt

  Alt 11. Sep 2021, 15:24
Sieht so aus als wenn Delphi mit einem VS-Studio *.rc Script nicht klar kommt.
Habe es geändert so wird zumindest im Eigenschafts Dialog von Windows das Zeilenende erkannt.

Es ändert aber nichts daran das immer 2 *.res Dateien geschrieben werden. Warum auch immer.

Geändert von venice2 (11. Sep 2021 um 16:06 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#9

AW: D11 RCDATA Resource wird nicht erkannt

  Alt 11. Sep 2021, 15:33
Soweit ich weiß, wird die <project>.res immer geschrieben und enthält das MainIcon und je nach Einstellung das automatisch generierte Manifest und die VersionsInfo. Solange diese res-Datei aber nicht in das Projekt eingebunden wird, sollte sie im Compilat auch nicht vorkommen.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
venice2
(Gast)

n/a Beiträge
 
#10

AW: D11 RCDATA Resource wird nicht erkannt

  Alt 11. Sep 2021, 15:50
Soweit ich weiß, wird die <project>.res immer geschrieben und enthält das MainIcon und je nach Einstellung das automatisch generierte Manifest und die VersionsInfo. Solange diese res-Datei aber nicht in das Projekt eingebunden wird, sollte sie im Compilat auch nicht vorkommen.
Danke Uwe, es sieht so aus.
Es nervt nur wenn man unnötige Dateien im Ordner hat und diese jedesmal löschen muß.

Anhänge entfernt so läuft es jetzt einigermaßen.

Geändert von venice2 (11. Sep 2021 um 16:08 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:39 Uhr.
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