/
Forside
/
Teknologi
/
Udvikling
/
Delphi/Pascal
/
Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn
*
Kodeord
*
Husk mig
Brugerservice
Kom godt i gang
Bliv medlem
Seneste indlæg
Find en bruger
Stil et spørgsmål
Skriv et tip
Fortæl en ven
Pointsystemet
Kontakt Kandu.dk
Emnevisning
Kategorier
Alfabetisk
Karriere
Interesser
Teknologi
Reklame
Top 10 brugere
Delphi/Pascal
#
Navn
Point
1
oldwiking
603
2
jrossing
525
3
rpje
520
4
EXTERMINA..
500
5
gandalf
460
6
gubi
270
7
DJ_Puden
250
8
PARKENSS
230
9
technet
210
10
jdjespers..
200
compiler directives?
Fra :
Thomas Eg Jørgensen
Dato :
22-08-07 08:59
Hej,
Jeg vil gerne gøre det nemt for mig at skifte mellem en "debug build" og
en "release build". Idag går jeg ind i project-->options og slår f.eks.
TD32 debug info til eller fra alt afhængig af om det er til release
eller til debug...oveni udkommentere jeg kode som jeg udelukkende bruger
i debug-øjemed, f.eks. memcheck og andre værktøjer. Men det er
omstændigt og det hænder, desværre, at jeg glemmer et flag eller en
stump kode et sted...og det er uholdbart når programmet sendes ud til
mange brugere....
Jeg tænkte derfor at jeg ville lave noget i retning af
{$define release}
{$ifdef Release}
{$L-}
{$D-}
etc....
{$else}
{$L+}
{$D+}
etc....
{$endif}
.....i starten af min projekt fil. Når jeg så vil debugge så udkommentere
jeg release-definitionen...MEN, det virker ikke? Er de compiler
directives(f.eks. $L og $D) "lokale" for hver unit? Altså virker de kun
i den unit hvor man skriver dem? Jeg har vel 100+ units i dette projekt
og det vil være et temlig omfattende arbejde at skulle skrive(og
vedligeholde!) dette i samtlige units...
En alternativ metode kunne være at anvende forskellige config-filer til
projektet. Men fidus'en med compiler-direktiverne er at jeg også kan slå
ting som memcheck til og fra ved at modificere en enkelt linje
kode({$define Release} vs. {.$define Release})...og jeg vil meget gerne
nøjes med EN løsning...hvis det da overhovedet er muligt?
Hvordan gør i andre? Er der gode fifs?
Jeg bruger D7 pro hvis det har nogen betydning...
På forhånd tak...
MVH
Thomas
Uffe Kousgaard (
22-08-2007
)
Kommentar
Fra :
Uffe Kousgaard
Dato :
22-08-07 10:42
"Thomas Eg Jørgensen" <thomas@hest.notaplan.com> wrote in message
news:46cbecbf$0$90264$14726298@news.sunsite.dk...
>
> ....i starten af min projekt fil. Når jeg så vil debugge så udkommentere
> jeg release-definitionen...MEN, det virker ikke? Er de compiler
> directives(f.eks. $L og $D) "lokale" for hver unit? Altså virker de kun i
> den unit hvor man skriver dem?
Ja, gem dine defines i en include fil og skriv øverst i hvert unit:
{$INCLUDE devx.inc}
Min devx.inc ser således:
{$DEFINE Release} // development or release
{$IFDEF Release}
// Compiler Directives for Release Version
{$DebugInfo OFF}
{$LocalSymbols OFF}
{$ReferenceInfo OFF}
{$RangeChecks OFF}
{$OverflowChecks OFF}
{$Optimization ON}
{$ELSE}
// Compiler Directives for Development
{$DebugInfo ON}
{$LocalSymbols ON}
{$ReferenceInfo ON}
{$RangeChecks ON}
{$OverflowChecks ON}
{$Optimization OFF}
{$ENDIF}
{$IOChecks ON}
Thomas Eg Jørgensen (
22-08-2007
)
Kommentar
Fra :
Thomas Eg Jørgensen
Dato :
22-08-07 12:55
"Uffe Kousgaard" <oh@no.no> skrev i en meddelelse
news:46cc050a$0$2098$edfadb0f@dtext02.news.tele.dk...
>> ....i starten af min projekt fil. Når jeg så vil debugge så
>> udkommentere jeg release-definitionen...MEN, det virker ikke? Er de
>> compiler directives(f.eks. $L og $D) "lokale" for hver unit? Altså
>> virker de kun i den unit hvor man skriver dem?
>
> Ja, gem dine defines i en include fil og skriv øverst i hvert unit:
>
> [SNIP]
> // Compiler Directives for Development
> {$DebugInfo ON}
> {$LocalSymbols ON}
> {$ReferenceInfo ON}
> {$RangeChecks ON}
> {$OverflowChecks ON}
> {$Optimization OFF}
> {$ENDIF}
>
Super! Havde ikke lige tænkt over at gøre det på denne måde...takker og
bukker!
Et sidespørgsmål: Er det muligt at slå "Include TD32 debug info" til/fra
på samme måde? Synes ikke jeg kan finde noget herom hverken i hjælp
eller via min bedste ven(google)...?
På forhånd tak...
MVH
Thomas
Søg
Alle emner
Teknologi
Udvikling
Delphi/Pascal
Indstillinger
Spørgsmål
Tips
Usenet
Reklame
Statistik
Spørgsmål :
177558
Tips :
31968
Nyheder :
719565
Indlæg :
6408926
Brugere :
218888
Månedens bedste
Årets bedste
Sidste års bedste
Copyright © 2000-2024 kandu.dk. Alle rettigheder forbeholdes.