Hej Inge,
"Inge Tønners" <nma2818@vip.cybercity.dk> wrote in message
news:97ji52$2elh$1@news.cybercity.dk...
> Dav. Jeg er en absolut begynder i Windows programering med Borland 5. Jeg
> har hentet en turorial der viser hvordan man laver vinduer o.sv. I et af
> eksemplerne skal man lave en menu(Filer, rediger osv). I eksemplet skal
man
> lave en rc fil(resources script) fil der har samme navn som din cpp fil.
Når
> jeg så har compileret min cpp fil bcc32 -W minfil.cpp og derefter
opdaterer
> min rc fil brc32 minfil burde det være der men der er ingen menu i mit
> vindue. Jeg har ellers skrevet præcis som der stod i eksemplet så jeg
ville
> høre om i kunne hjælpe. Er desperat.
>
>
Jeg går ud fra at når du siger Borland 5, så mener du den gratis C++
kompiler som kan hentes fra Borlands hjemmeside (Borland C++ 5.5), og
hverken den integrerede miljø Borland C++ V5 eller Borland C++Builder V5.
Jeg antager at du derfor kun har kommandolinie værktøjer til rådighed.
Dit problem er givetvis at du ikke får linket din resource med i din
EXE-fil.
Det kan du så vidt jeg ved ikke gøre direkte med BCC32, men du skal have
gang i linkeren ILINK32, for at få linket det med.
Du skal derfor ende med en kommando linie noget i stil med:
ilink32 -aa -Tpe -x -Gn -v minfil.obj, minfil.exe, , , , minfil.res
Et godt råd at måske at se at få lavet en make-fil der holder styr på alle
kommandolinie optionerne.
Et andet velment råd kunne være, at hvis dit mål ikke er at lære Windows
API, men at lave Windows programmer med grafisk brugergrænseflade i C++, så
tag og køb Borland C++Builder V5 (Standard Edition koster omkring kr. 1000).
Det er langt nemmere.
Hvis dit mål er at lære at lave grafiske brugergrænseflader med Windows API,
så mærk lige efter en ekstra gang om du har en rigtig god grund til det.Husk
det er et ca. 15 år gammelt API, som set fra et applikations udvikler
synspunkt, ikke har den samme markedsmæssige værdi at kunne som for 10 år
siden. Med Microsoft's .NET initiativ, må man forvente den viden bliver
endnu mindre værd de kommende år.
Der er naturligvis gode grunde til at lave programmer direkte på Windows
API'et: f.eks. størrelsen bliver lille, afhængighederne få.
Husk det er din tid du bruger.
Venlig hilsen
Mogens Hansen
PS.
Her er et eksempel på en make-fil som sikrer at filerne "menudemo.c" og
"menudemo.rc" bliver oversat at sat sammen til en menudemo.exe:
!if !$d(BCB)
BCB = $(MAKEDIR)\..
!endif
PROJECT = menudemo.exe
OBJFILES = menudemo.obj
RESFILES = menudemo.res
RESDEPEN = $(RESFILES)
# --------------------------------------------------------------------------
-
PATHCPP = .;
PATHRC = .;
DEBUGLIBPATH = $(BCB)\lib\debug
RELEASELIBPATH = $(BCB)\lib\release
USERDEFINES = _DEBUG
SYSDEFINES = NO_STRICT
INCLUDEPATH = $(BCB)\include
LIBPATH = $(BCB)\lib\obj;$(BCB)\lib
WARNINGS= -w-par
# --------------------------------------------------------------------------
-
CFLAG1 = -Od -Vx -Ve -X- -r- -a8 -b- -k -y -v -vi- -tW -tWM- -c
LFLAGS = -D"" -aa -Tpe -x -Gn -v
# --------------------------------------------------------------------------
-
ALLOBJ = c0w32.obj $(OBJFILES)
ALLRES = $(RESFILES)
ALLLIB = $(LIBFILES) import32.lib cw32.lib
# --------------------------------------------------------------------------
-
# --------------------------------------------------------------------------
-
# MAKE SECTION
# --------------------------------------------------------------------------
-
..autodepend
# --------------------------------------------------------------------------
-
!if !$d(BCC32)
BCC32 = bcc32
!endif
!if !$d(LINKER)
LINKER = ilink32
!endif
!if !$d(BRCC32)
BRCC32 = brcc32
!endif
# --------------------------------------------------------------------------
-
!if $d(PATHCPP)
..PATH.CPP = $(PATHCPP)
..PATH.C = $(PATHCPP)
!endif
!if $d(PATHPAS)
..PATH.PAS = $(PATHPAS)
!endif
!if $d(PATHRC)
..PATH.RC = $(PATHRC)
!endif
# --------------------------------------------------------------------------
-
$(PROJECT): $(IDLGENFILES) $(OBJFILES) $(RESDEPEN) $(DEFFILE)
$(BCB)\BIN\$(LINKER) @&&!
$(LFLAGS) -L$(LIBPATH) +
$(ALLOBJ), +
$(PROJECT),, +
$(ALLLIB), +
$(DEFFILE), +
$(ALLRES)
!
# --------------------------------------------------------------------------
-
..cpp.obj:
$(BCB)\BIN\$(BCC32) $(CFLAG1)
$(WARNINGS) -I$(INCLUDEPATH) -D$(USERDEFINES);$(SYSDEFINES) -n$(@D) {$< }
..c.obj:
$(BCB)\BIN\$(BCC32) $(CFLAG1)
$(WARNINGS) -I$(INCLUDEPATH) -D$(USERDEFINES);$(SYSDEFINES) -n$(@D) {$< }
..rc.res:
$(BCB)\BIN\$(BRCC32)
$(RFLAGS) -I$(INCLUDEPATH) -D$(USERDEFINES);$(SYSDEFINES) -fo$@ $<
# --------------------------------------------------------------------------
-
|