Resource File Probleme - error RC2104 : undefined keyword or key name
-
Hallo Leute.
In einem alten Code habe ich folgende Stelle in einer Resource Datei gefunden (VC++5 Code den ich mit VC++ kompilieren will):
///////////////////////////////////////////////////////////////////////////// // // String Table // STRINGTABLE DISCARDABLE BEGIN CG_IDS_PHYSICAL_MEM "%lu KB" CG_IDS_DISK_SPACE "%lu KB Free on %c:" CG_IDS_DISK_SPACE_UNAVAIL "Unavailable" ENDDas Problem ist, der Resource Compiler meldet hier
error RC2104 : undefined keyword or key name: CG_IDS_PHYSICAL_MEMbzw. wenn ich CG_IDS_PHYSICAL_MEM auskommentiere, dann CG_IDS_DISK_SPACE.
Ich bin nicht mehr wirklich Fit mit Resource-Dateien aber ich kann hier keinen Fehler erkennen. Wieso erwartet er hier ein Keyword und wenn - welches? Eigentlich sollte er hier doch CG_IDS_PHYSICAL_MEM erst definieren, oder?
Ich habe massig Fehler in den Resource Dateien - hat vielleicht jemand ein gutes Tutorial zu Resource Dateien? Ich habe die das letzte mal vor 5-6 Jahren verwendet

Danke im schonmal.
-
Die String-IDs müssen irgendwo als Defines für 16-Bit-Integerwerte stehen. Normalerweise dient dazu die resource.h.
-
MFK schrieb:
Die String-IDs müssen irgendwo als Defines für 16-Bit-Integerwerte stehen. Normalerweise dient dazu die resource.h.
*argh* stimmt. Danke.
Die resource.h ist natürlich leer... Im ganzen Code sind die #defines nicht auffindbar
Da ist wohl irgendwann eine Datei verloren gegangen - super 
Gibt es ne Möglichkeit diese IDs automatisch generieren zu lassen?
-
Das macht der Ressourcen-Editor doch für Dich, wenn Du einen neuen String anlegst.
-
Martin Richter schrieb:
Das macht der Ressourcen-Editor doch für Dich, wenn Du einen neuen String anlegst.
Ich will aber keinen neuen String anlegen

Ich hab sie alle komplett vordefiniert - eine ~4000 Zeilen resourcen Datei ist vorhanden und die passende resource.h mit den #defines ist nicht auffindbar. Ich hab zwar mal nen Jemanden geschickt die alten Backups zu durchstöbern - rechne mir aber wenig Chancen auf Erfolg aus.
Ich brauche nun eine Möglichkeit wie ich die ~3000 #defines anlegen kann ohne Stundenlang #define xxx yyy zu schreiben - denn das dumme ist, ich werde nicht nach Stunden bezahlt sondern pauschal

-
Also das dürfte mit jedem gescheiten Editor oder mit Excel eine Sache von 2 Minuten sein.
Alle IDs in eine Spalte.
#define als SPlate 1 einfügen unf Füllen
Alle IDs automatisch in Spalte 3.
Die Datei als Tab-Getrennte Textdatei speichern.Thats it...

-
Und wie komme ich vernünftig an die IDs?
Ich bastle gerade an einer RegExp dafür, aber das funktioniert mehr schlecht als recht 
-
Lade sie doch mal irgendwo hoch. Das klingt nach einer lustigen Programmieraufgabe fürs Wochenende.

/edit : Rechtschreibung

-
merker schrieb:
Lade sie doch mal irgendwo hoch. Das klingt nach einer lustigen Programmieraufgabe fürs Wochenende.

Darf ich leider nicht
Aber glaub mir - 4000 Zeilen Ressourcen Datei ist echt nicht lustig wenn der Resourcen Editor sagt "Nö, die Datei will ich nicht öffnen" :pAber das lustige ist ja: meine Aufgabe ist es die Software zum Laufen zu bekommen und nicht zum kompilieren :p Also way to go Shade

-
Was meinst Du mit: Wie komme ich an die IDs?
Auch das kann man mit links und einigen Editor Befehlen hinbekommen.
Extrahiere alle Symbole aus der RC Datei. Vergib einfach neue IDs und recompilire das Projekt.
By the way: Du kannst das ganze Projekt doch gar ncht kompilieren ohne die entsprechende resource.h Datei, die wird doch in den Sourcen auch benötigt.Ich verstehe das nicht.
-
Martin Richter schrieb:
Was meinst Du mit: Wie komme ich an die IDs?
Auch das kann man mit links und einigen Editor Befehlen hinbekommen.
Extrahiere alle Symbole aus der RC Datei. Vergib einfach neue IDs und recompilire das Projekt.Und genau das "extrahiere alle Symbole" ist bzw. war das Problem. Habe nen kleinen Parser in PHP hinbekommen der mir die Symbole rausholt und in die resource.h schreibt mit neuen IDs. (es waren 925 Symbole)
By the way: Du kannst das ganze Projekt doch gar ncht kompilieren ohne die entsprechende resource.h Datei, die wird doch in den Sourcen auch benötigt.
Exakt - das ist mein Problem

Aber dieses Problem ist jetzt erstmal gelöst
