/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
Windows programmer
Fra : Inge Tønners


Dato : 28-02-01 20:16

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.



 
 
Mogens Hansen (01-03-2001)
Kommentar
Fra : Mogens Hansen


Dato : 01-03-01 11:44

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$@ $<
# --------------------------------------------------------------------------
-








Martin Schultz (01-03-2001)
Kommentar
Fra : Martin Schultz


Dato : 01-03-01 15:14

>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.

Version 3 kan findes på mange cover cder ganske gratis.

Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408522
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste