Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Im debugging ja, sonst nicht? (https://www.delphipraxis.net/50091-im-debugging-ja-sonst-nicht.html)

Surrounder 20. Jul 2005 14:58


Im debugging ja, sonst nicht?
 
Gibt es in Delphi eine Möglichkeit zu sagen dass es bestimmte Dinge nur ausführen soll ( also z.B. einen Funktionsaufruf ) wenn er aus Delphi heraus, also im debugging gestartet wird? Und wenn jemand die direkte exe startet nicht :?:

Ich hab schon bei den Compilerschaltern geschaut aber ich glaub die Helfen mir da nicht. :gruebel:

Danke für einen Tip

barf00s 20. Jul 2005 15:01

Re: Im debugging ja, sonst nicht?
 
bRunFunction: boolean;


OnFormCreate:

bRunFunction := ParamCount >= 1;

...


procedure Foobar;
begin
if bRunFunction then
Haxx('blah')
else
;
end;


Run -> Parameters -> "blubb"




so "könnte" mans vllt machen

Dax 20. Jul 2005 15:08

Re: Im debugging ja, sonst nicht?
 
Wenn ich mich richtig erinnere, gibts noch sowas wie "IsDebuggerPresent" oder ähnlich, dürfte besser sein ;)

jfheins 20. Jul 2005 15:11

Re: Im debugging ja, sonst nicht?
 
Genau, IsDebuggerPresent ist hier der bessere Weg. ;)

Surrounder 20. Jul 2005 15:16

Re: Im debugging ja, sonst nicht?
 
Zitat:

Zitat von jfheins
Genau, IsDebuggerPresent ist hier der bessere Weg. ;)

OT: netter Avatar :dancer:


Hab gerade gesehen in den Jedi Tools gibt es ja auch was, IsDebuggerAttached

Danke für die Hilfe

barf00s 20. Jul 2005 15:20

Re: Im debugging ja, sonst nicht?
 
"Oh genau, IsDebuggerPresent"

-.-°

TeronG 20. Jul 2005 16:01

Re: Im debugging ja, sonst nicht?
 
schon gelöst ??
hab hier schommal das
Delphi-Quellcode:
function IDEStart: Boolean;
begin
  if DebugHook <> 0 then
    result := True                           // IDE-Start
  else
    result := False;                         // KEIN IDE-Start
end;
bzw das
Delphi-Quellcode:
function IDEStart: boolean; stdcall;
asm
  MOV    EAX, FS:[030H]
  TEST   EAX, EAX
  JS     @@W9X
@@WNT:
  MOV EAX, FS:[$18]
  MOV EAX, [EAX+$30]
  MOVZX EAX, [EAX+2]
  RET
@@W9X:
  MOV EAX, [$BFFC9CE4]
  MOV ECX, [EAX]
  CMP [ECX+$54], 00000001
  SBB EAX, EAX
  INC EAX
  RET
end;
gefunden

HERMES 20. Jul 2005 16:07

Re: Im debugging ja, sonst nicht?
 
mit kompilerschaltern scheint mir eigentlich der beste weg zu sein
{$ifdef debug}
...
{$endif}

Dax 20. Jul 2005 16:10

Re: Im debugging ja, sonst nicht?
 
Ja, Compilerschalter. Die sind nur für den Compiler. Aber nicht jeder Start aus der IDE kompiliert neu, und wenn man so arbeitet, kann man leicht einen Schalter vergessen ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:03 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz