Entwickler-Ecke

Programmierwerkzeuge - Problem mit BRC32.exe bzw. mit dem Resource Compiler


isocam - Do 29.04.04 20:46
Titel: Problem mit BRC32.exe bzw. mit dem Resource Compiler
Hallo alle zusammen!

Ich wollte mir eine Ressourcendatei aus Bildern erstellen. Ich habe dazu per Notepod die Liste erstellt.

Quelltext
1:
2:
3:
f1 BITMAP "happy.bmp"
f2 BITMAP "ribbon.bmp"
usw.

Diese Textdatei habe ich unter *.rc abgespeichert. Nun gab ich in der Eingabeaufforderung folgendes ein: Pfad, wo Bilder und *.rc liegen >
Eingabeaufforderung hat folgendes geschrieben:
brc32.exe -r *.rc

Nichts passiert. Es wird keine Datei ausgegeben. Es kommt auch keine Meldung, egal ob ich brcc32.exe oder brc32exe oder die Endung weglasse. Listendatei und Bilder liegen im gleichen Ordner.

für * irgendein Name.

Woran liegt das?

Moderiert von user profile iconTino: Code- & Quote-Tags hinzugefügt.
Moderiert von user profile iconTino: Topic aus Dateizugriff verschoben am Di 22.06.2004 um 09:43


Delete - Do 29.04.04 20:54

Gib mal anstatt des "*" den Dateinamen an.

Ich habe mir dafür eine Batchdatei geschrieben:

Quelltext
1:
2:
@brcc32 Skript1.rc -foresource.res
@pause

Die rc-Datei muss hier resource.rc heißen.


isocam - Fr 30.04.04 14:36
Titel: Dateiname
Es funzt nicht. Es wird keine res-Datei ausgegeben.


Silentium - Mo 03.05.04 19:47

bei mir gings so:
mach ne Verknüpfung zur brcc32.exe (is im BIN ordner von delphi) auf den desktop und ändere den datei pfad wie folgt:

....\brcc32.exe C:\temp\Sound.rc

bei dieser schreibweise müsste die .rc datei "Sound.rc" heißen und im ordner C:\temp\ vorhanden sein. die dateien, die in die .res datei geschrieben werden sollen müssen ebenfalls in diesem ordner vorhanden sein.

dann kannst du die verknüpfung auf dem desktop ausführen und voila -> Sound.res ist einsatzbereit :wink:


Delete - Mo 03.05.04 19:59

Nur, damit ich meinen 2800. Beitrag kriege -

Normalerweise trägt sich Delphi in die PATH-Variable ein. Es spielt also keine Rolle in welchem Ordner du bist, du machst eine DOS-Box auf, tippst dort

Quelltext
1:
brcc32                    

ein, und es sollte die Syntax des Programms erscheinen. Eine Verknüpfung ist daher IMHO unnötig. Viel wichtiger (und nebenbei nützlicher) wäre eine Möglichkeit, direkt aus dem Explorer eine Kommandozeile im gerade aktiven Ordner zu öffnen. Für WinXP gibt´s das als Powertoy, für die anderen OSe reicht eine klitze INF-Datei:
doshere.inf hat folgendes geschrieben:

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
;
; "Command Prompt Here" PowerToy
;
; Copyright 1996 Microsoft Corporation
;
[version]
signature="$CHICAGO$"

[DosHereInstall]
CopyFiles = DosHere.Files.Inf
AddReg    = DosHere.Reg

[DefaultInstall]
CopyFiles = DosHere.Files.Inf
AddReg    = DosHere.Reg

[DefaultInstall.ntx86]
CopyFiles = DosHere.Files.Inf
AddReg    = DosHere.Reg.NT

[DefaultUnInstall]
DelFiles  = DosHere.Files.Inf
DelReg    = DosHere.Reg

[DefaultUnInstall.ntx86]
DelFiles  = DosHere.Files.Inf
DelReg    = DosHere.Reg.NT

[SourceDisksNames]
55="DOS Prompt Here","",1

[SourceDisksFiles]
DOSHERE.INF=55

[DestinationDirs]
DosHere.Files.Inf = 17

[DosHere.Files.Inf]
DOSHERE.INF

[DosHere.Reg]
HKLM,%UDHERE%
HKLM,%UDHERE%,DisplayName,,"%DosHereName%"
HKLM,%UDHERE%,UninstallString,,"%10%\rundll.exe setupx.dll,InstallHinfSection DefaultUninstall 132 %17%\DosHere.inf"
HKCR,Directory\Shell\DosHere,,,"%DosHereAccel%"
HKCR,Directory\Shell\DosHere\command,,,"%10%\command.com /k cd ""%1"""
HKCR,Drive\Shell\DosHere,,,"%DosHereAccel%"
HKCR,Drive\Shell\DosHere\command,,,"%10%\command.com /k cd ""%1"""

[DosHere.Reg.NT]
HKLM,%UDHERE%
HKLM,%UDHERE%,DisplayName,,"%DosHereName%"
HKLM,%UDHERE%,UninstallString,,"rundll32.exe syssetup.dll,SetupInfObjectInstallAction DefaultUninstall 132 %17%\DosHere.inf"
HKCR,Directory\Shell\DosHere,,,"%DosHereAccel%"
HKCR,Directory\Shell\DosHere\command,,,"%11%\cmd.exe /k cd ""%1"""
HKCR,Drive\Shell\DosHere,,,"%DosHereAccel%"
HKCR,Drive\Shell\DosHere\command,,,"%11%\cmd.exe /k cd ""%1"""

[Strings]
DosHereName="Command Prompt Here"
DosHereAccel="DOS-Konsole öffnen ..."
UDHERE="Software\Microsoft\Windows\CurrentVersion\Uninstall\DosHere"

Speichern, mit der rechten Maustaste anklicken -> Installieren, und Voilà - man hat im Kontextmenü von jedem Ordner den Punkt "DOS-Konsole öffnen".

Vorteil: du sparst dir das Hin und Her mit dem DOS-Befehl "cd", und du landest gleich im passenden Ordner, wo du dann relativ simpel Tools wie brcc32 aufrufen kannst. (Womit ich wieder beim Thema wäre. ;))


delphist - Mo 21.06.04 17:23

hallo,
vllt würde auch einfach eine PATH-angabe mit dem Delphi-Bin-Verzeichniss in der Autoexec.bat weiterhelfen? 8)
Allerdings weiß ich nicht wie weit autoexec.bat von Windows noch eingebunden wird.
womöglich muss man sie nach jedem start manuell ausführen. :P
Bis Bald
delphist


Delete - Mo 21.06.04 21:59

Du hast offenbar nicht gelesen was ich schrieb.
MathiasSimmack hat folgendes geschrieben:
Normalerweise trägt sich Delphi in die PATH-Variable ein.

Das passiert bei einem ordentlichen Setup, und ich denke, Borland dürfte so clever sein und Delphi für jedes Betriebssystem korrekt im Pfad (PATH) eintragen. Abgesehen davon ist die "autoexec.bat" unter 2000 und XP meiner Meinung nach nicht unbedingt erforderlich. Zumal die Umgebungsvariablen unter NT ohnehin anders gespeichert werden.


Muetze1 - Di 22.06.04 00:51

Moin!

Zu dem grundlegenden Problem: Der Typ müsste IMHO nicht BITMAP sondern RCBITMAP heissen in der .rc Datei. Die Anführungszeichen bei den Dateien könnten ihn auch in Breduille bringen, wobei ich jetzt nicht weiss ob die überhaupt angegeben werden können und welcher Art von Anführungszeichen.

Zitat:
F1 RCBITMAP deinerstes.bmp
F2 RCBITMAP deinzweites.bmp


Probier das halt mal aus mit brcc32 deinname.rc zu compilieren. Du musst aber mit dem Command Prompt bzw. dem aktuellen Directory direkt bei dem .RC File sein und die Bitmaps sollten auch da direkt liegen...

MfG
Muetze1


Delete - Di 22.06.04 08:42

Ich hoffe, du weißt was du da schreibst? Eine meiner RC-Dateien sieht nämlich so aus:

Quelltext
1:
1010  BITMAP  DISCARDABLE  "smc-header.bmp"                    

und verursacht absolut keine Probleme, obwohl dort a) nur "BITMAP" steht und b) Anführungszeichen benutzt werden. Also, bitte vorher ausprobieren ... ;)


Muetze1 - Di 22.06.04 09:56

Moin!

MathiasSimmack hat folgendes geschrieben:
Ich hoffe, du weißt was du da schreibst? Eine meiner RC-Dateien sieht nämlich so aus:

Quelltext
1:
1010  BITMAP  DISCARDABLE  "smc-header.bmp"                    

und verursacht absolut keine Probleme, obwohl dort a) nur "BITMAP" steht und b) Anführungszeichen benutzt werden. Also, bitte vorher ausprobieren ... ;)


Gut gebrüllt Löwe, aber

1. habe ich nicht umsonst IMHO geschrieben und die Bedeutung von IMHO sollte wohl klar sein
2. Ich habe selber schon viele RES Dateien aus den RC Skripts gemacht und RCBITMAP wird genaus akzeptiert, also "Also, bitte vorher ausprobieren ... :wink: "
3. Die Anführungszeichen müssen nur sein, wenn man ein Leerzeichen oder anderes, im Normalfall Trennzeichen, im Dateinamen hat. Sie sind so optional und können weggelassen werden.
4. meine Methode "macht bei mir auch keine Probleme" - also können wir uns hier noch lange streiten ...

"Ich hoffe, du weißt was du da schreibst?" - Dito??

Beweis das Gegenteil oder sage konkret etwas von meinen Ausführung sind falsch - oder probiers einfach selber aus, bevor du es hier als falsch darstellst.

(ich habe mir die Quote's hier mal in einfacher Form wieder gegeben).

MfG
Muetze1


Delete - Di 22.06.04 10:51

Na also, damit hast du doch sehr schön deine Hinweise von oben ergänzt und Missverständnisse ausgeräumt. Mehr wollte ich gar nicht erreichen.


Geändert von mir: Text angepasst um unnötigen Streit zu vermeiden.