![]() |
Programm von der IDE aus gestartet ?
Weiß jemand, wie ich programmseitig erkennen kann, ob das Programm von der IDE ausgehend gestartet wurde (also der Debugger an ist) ?
Hintergrund : Während der Programmentwicklung ist in meinen Menus immer ein MenuItem "Test", das mir erlaubt, bestimmte TestRoutinen laufen zu lassen. Wenn ich das Programm weitergebe, soll dieses MenuItem nicht sichtbar sein. Nun wäre es ja leicht, beim Programmstart (z.B, unter FormCreate) ein "miTest.Visible:=false" einzufügen, jedoch soll das nur dann geschehen, wenn das Programm nicht von der IDE aus gestartet wurde. Eine Möglichkeit wäre, das File-Datum der .exe abzufragen und dann, wenn es nahe bei der Systemzeit liegt, anzunehmen, daß das Programm von der IDE aus gestartet wurde. Aber ich denke das müßte auch einfacher zu machen sein. Vielen Dank für hilfreiche Hinweise. |
Re: Programm von der IDE aus gestartet ?
Du kannst dir ja eine Datei erzeugen, in der ein bestimmter String steht. Und dann überprüfst du, ob die Datei existiert, und ob der String richtig ist. Wenn ja, zeigst du das Menu an, sonst nicht.
edit: Damit würdest du dann jedenfalls dafür sorgen, dass es bei dir angezeigt wird, und woanders nicht. ;) |
Re: Programm von der IDE aus gestartet ?
Ich glaube man kann in der Delphi IDE einstellen dass dem Programm bei Ausführung immer ein Parameter übergeben wird.
Im Programm überprüfst du ob der gesetzt ist. Wenn ja, ist das Programm aus der IDE heraus gestartet worden. |
Re: Programm von der IDE aus gestartet ?
|
Re: Programm von der IDE aus gestartet ?
Zitat:
|
Re: Programm von der IDE aus gestartet ?
Zitat:
Und dann hätte dir die DP-Suche sogar folgenden Thread zeigen können ;) ![]() Oder du hättest gleich direkt in der CodeLib suchen können. ![]() |
Re: Programm von der IDE aus gestartet ?
Delphi-Quellcode:
if DebugHook <> 0 then
begin // do something end |
Re: Programm von der IDE aus gestartet ?
Hallo!
Vielleicht hilf dir dies ![]() ![]() Grüße Faux |
Re: Programm von der IDE aus gestartet ?
Zitat:
in meinen Projekten löse ich dies mittels Compiler-Conditions in der Art von
Delphi-Quellcode:
nur so kann sichergestellt werden, dass keine Infos im Kompilat auftachen, die allenfalls niemanden etwas angehen......
{$IFDEF Debug }
If (x = 1) Then OutputDebugString('x = 1'); {$ENDIF } |
Re: Programm von der IDE aus gestartet ?
Problem gelöst.
Am überzeugendsten war für mich die Vorschlag von ringli, der identisch war mit dem zweiten Tip von faux. Herzlichen Dank an alle. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:32 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz