AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi mehrere Ressourcendateien mit Stringliste verwenden

mehrere Ressourcendateien mit Stringliste verwenden

Ein Thema von JohannesK · begonnen am 21. Nov 2013 · letzter Beitrag vom 21. Nov 2013
Antwort Antwort
JohannesK

Registriert seit: 17. Jul 2003
Ort: Abtwil
118 Beiträge
 
Delphi 2010 Professional
 
#1

mehrere Ressourcendateien mit Stringliste verwenden

  Alt 21. Nov 2013, 16:45
Hallo,

ich habe ein Problem mit der Nutzung von Ressourcen

Wir verwenden die gleiche Unit (z.B. Buchungsroutine) in mehreren DLL's die jeweils ihre eigenen Ressourcendateien für die Anzeige von Meldungen haben.
Die mehrfach benutzte Unit (u_repSupp.pas) sollte jedoch immer die eigenen Meldungen aus {$R RepSupp.res} verwenden.
Die Meldungen für die DLL selbst stehen in {$R PR_LimsMB.res}.

Delphi-Quellcode:
library PR_LimsMB;

uses
  SysUtils,
  Classes,
  ....
  U_reportSupp in '..\Allg_units\U_reportSupp.pas';

{$R PR_LimsMB.res}
{$R RepSupp.res}
Die unit u_repSupp.pas enthält die eigene Ressource auch noch einmal.
Delphi-Quellcode:

unit U_reportSupp;

interface
...

implementation

{$R RepSupp.res}
Es wird aber immer nur die als letzte aufgeführte Ressource aus der Library-Datei geladen, die vorher aufgeführte wird verworfen.
Gibt es hier eine Möglichkeit beide jeweils an der richtigen Stelle zu verwenden?

Freue mich über jeden Tipp!

Johannes
mit freundlichem Gruss

So einfach wie möglich. Aber nicht einfacher.

Geändert von JohannesK (21. Nov 2013 um 19:05 Uhr)
  Mit Zitat antworten Zitat
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.477 Beiträge
 
Delphi 12 Athens
 
#2

AW: mehrere Ressourcendateien mit Stringliste verwenden

  Alt 21. Nov 2013, 17:45
Ressourcen werden nicht an die Unit gebunden, sondern an die jeweilige Anwendung oder DLL.
Werden mehrere Resourcendateien verwendet, müssen die Resourcen eindeutig bezeichnet sein.

In deinen Fall würde ich entweder allen Resourcen in "RepSupp.res" oder "PR_LimsMB.res" ein festes Präfix verpassen.
  Mit Zitat antworten Zitat
JohannesK

Registriert seit: 17. Jul 2003
Ort: Abtwil
118 Beiträge
 
Delphi 2010 Professional
 
#3

AW: mehrere Ressourcendateien mit Stringliste verwenden

  Alt 21. Nov 2013, 18:07
Danke für den Input.

Meine Identifier sind so aufgebaut:

1000
2000 usw - Sprachpräfix

100
200 usw - Unit-Präfix

d.h. Meldung 13 in einem bestimmten Formular mit Unit Präfix 200 in Deutsch hat die ID 1213.

Wenn ich Dich richtig verstehe schlägst Du vor, zB allen Meldungen in meiner RepSupp.res noch zB 10000 draufzuschlagen, dass die ID dann 11213 wäre? Damit wären keine Überschneidungen vorhanden.

Johannes
mit freundlichem Gruss

So einfach wie möglich. Aber nicht einfacher.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: mehrere Ressourcendateien mit Stringliste verwenden

  Alt 21. Nov 2013, 18:47
Damit wären keine Überschneidungen vorhanden.
Ja, wenn ich das richtig verstanden hab.

Der Compiler, bzw. genauer der Linker sollte dir auch eine entsprechende Fehlermeldung um die Ohren werfen, vonwegen doppelter Resource.
(wobei ich da immer der Meinung war, daß er dann immer nur die erste verwendet, welche gelinkt wird und die Nachfolgenden mit einer Warnung verwirft)

In deiner ganzen EXE dürfen keine Resourcen mit der selben ID, bzw. dem selben Namen vorkommen.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PosEx im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
JohannesK

Registriert seit: 17. Jul 2003
Ort: Abtwil
118 Beiträge
 
Delphi 2010 Professional
 
#5

AW: mehrere Ressourcendateien mit Stringliste verwenden

  Alt 21. Nov 2013, 18:56
Ich habe das mal so angepasst und es funktioniert jetzt bei den Testfiles.

Damit wären keine Überschneidungen vorhanden.
Ja, wenn ich das richtig verstanden hab.

Der Compiler, bzw. genauer der Linker sollte dir auch eine entsprechende Fehlermeldung um die Ohren werfen, vonwegen doppelter Resource.
(wobei ich da immer der Meinung war, daß er dann immer nur die erste verwendet, welche gelinkt wird und die Nachfolgenden mit einer Warnung verwirft)
Genau das tut er - offenbar ist das mit dem verwerfen nicht so ernst gemeint .

Danke für den Support.
mit freundlichem Gruss

So einfach wie möglich. Aber nicht einfacher.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 01:10 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