Avatar billede hrc Mester
10. januar 2007 - 09:58 Der er 4 kommentarer og
1 løsning

Compilerdirektiv for build-operation

Jeg har lavet en berygtet "autologin" funktion så jeg ikke skal sidde og taste for meget. Funktionalitetn styres ved et compilerdirektiv: {$define AUTOLOGIN} {$ifdef AUTOLOGIN} osv.

Når jeg frigiver en version så builder jeg altid koden. Kan man spørge på det i sourcen så den funktionalitet ikke kommer med ud til brugerne (maskinen skal dog sættes op med environment variable før det virker)? Noget i retning af dette:

{$undef AUTOLOGIN}
{$ifdef DELPHI_BUILD}
  {$define AUTOLOGIN}
{$endif}
Avatar billede borrisholt Novice
10. januar 2007 - 13:21 #1
Jeg tror ikke det kan lade sig gøre. Jeg bruger  ikke compiler direktiver af samme grund.

Hvis jeg har noget debug kode som ikke skal ud til brugeren så bruger jeg det følgen kode :

function IsDebuggerAttached: Bool;
asm
  mov eax, fs:[$18]
  mov eax, dword ptr [eax + $30] 
  mov eax, dword ptr [eax]       
  and eax, $00010000             
end;


Jens B
Avatar billede borrisholt Novice
10. januar 2007 - 13:47 #2
Hvorfor har jeg ikke dig på Messenger ?
Avatar billede hrc Mester
10. januar 2007 - 15:06 #3
Det har du skam også haft - du har fejlsendt mails til mig flere gange. Msn'en er hrc_public på hotmail.

I øvrigt er dit eksempel jo helt perfekt (hvis det virker)
Avatar billede tolderlund Nybegynder
11. januar 2007 - 09:43 #4
Jens B: Man kan også bare skrive:
if DebugHook <> 0 then {Programmet bliver debugget}
Avatar billede borrisholt Novice
11. januar 2007 - 11:08 #5
tolderlund>> Det er korrekt.

Fordelen ved at have sin egen funktion er at hvis du bevæger dig til andre færdig kompileret sprog C++ feks., så kan du bare tage din funktion med dig.

Jens B
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester