AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Programm innerhalb IDE gestartet?

Ein Thema von Domino · begonnen am 13. Okt 2003 · letzter Beitrag vom 14. Okt 2003
Antwort Antwort
Domino

Registriert seit: 7. Okt 2003
6 Beiträge
 
#1

Programm innerhalb IDE gestartet?

  Alt 13. Okt 2003, 20:07
Hallo DP,

wie kann man feststellen, ob ein Programm innerhalb der IDE gestartet wurde?

Gruß Domino
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#2

Re: Programm innerhalb IDE gestartet?

  Alt 13. Okt 2003, 20:16
Hi!

Gib wahrscheinlich verschiedene Möglichkeiten, dies herauszufinden.

Hier mal eine Möglichkeit:

Delphi-Quellcode:
type
  TIsDebuggerPresent = function: BOOL;

function IsDebuggerPresent: Boolean;
var
  hKernel32: Integer;
  IsDebuggerPresent: TIsDebuggerPresent;
  VerInfo: TOsVersionInfo;
begin
  Result := False;
  VerInfo.dwOSVersionInfoSize := SizeOf(VerInfo);
  GetVersionEx(VerInfo);
  if (VerInfo.dwPlatformId = VER_PLATFORM_WIN32_NT) and
    (VerInfo.dwMajorVersion >= 4) then
  begin
    hKernel32 := LoadLibrary('KERNEL32.DLL');
    if hKernel32 > 0 then
    begin
      IsDebuggerPresent := GetProcAddress(hKernel32, 'IsDebuggerPresent');
      if Assigned(IsDebuggerPresent) then
        Result := IsDebuggerPresent;
      FreeLibrary(hKernel32);
    end;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  if IsDebuggerPresent() = True then
    ShowMessage( 'Debugger or IDE entdeckt' )
  else
    ShowMessage( 'Debugger or IDE NICHT entdeckt' );
end;
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von APP
APP

Registriert seit: 24. Feb 2003
Ort: Graz (A)
705 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Programm innerhalb IDE gestartet?

  Alt 13. Okt 2003, 20:18
Hallo

ich würde es so machen:

Delphi-Quellcode:
   
FUNCTION inIDE: Boolean;
   BEGIN
      // Klassenname von Delphi is TAppbuilder
      Result := FindWindow('TAPPBUILDER', NIL) <> 0;
   END;
Armin P. Pressler

BEGIN
...real programmers are using C/C++ - smart developers Delphi;
END;
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#4

Re: Programm innerhalb IDE gestartet?

  Alt 13. Okt 2003, 20:30
Die Function inIDE ist aber nicht unbedingt sicher,
d.h kann leicht ausgetrickst werden.
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von APP
APP

Registriert seit: 24. Feb 2003
Ort: Graz (A)
705 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Programm innerhalb IDE gestartet?

  Alt 13. Okt 2003, 20:40
Hallo toms,

da hast Du natürlich Recht, Deine Funktion ist total sophisticated,
aber wer denkt bei obiger Fragestellung schon etwas Böses

Falls Domino Komponenten oä. nur in der IDE lauffähig anbieten möchte
(z.B. als Shareware), dann ist meine Lösung unsicher, zum schnellen
Auffinden ob IDE oder nicht aber kürzer
Armin P. Pressler

BEGIN
...real programmers are using C/C++ - smart developers Delphi;
END;
  Mit Zitat antworten Zitat
Daniel B
(Gast)

n/a Beiträge
 
#6

Re: Programm innerhalb IDE gestartet?

  Alt 13. Okt 2003, 20:40
Zitat von toms:
Die Function inIDE ist aber nicht unbedingt sicher,
d.h kann leicht ausgetrickst werden.
Na Klar, aber von wem?
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#7

Re: Programm innerhalb IDE gestartet?

  Alt 13. Okt 2003, 20:42
Zitat:
Falls Domino Komponenten oä. nur in der IDE lauffähig anbieten möchte
(z.B. als Shareware), dann ist meine Lösung unsicher
That's the point.
Thomas
  Mit Zitat antworten Zitat
Domino

Registriert seit: 7. Okt 2003
6 Beiträge
 
#8

Re: Programm innerhalb IDE gestartet?

  Alt 14. Okt 2003, 08:49
Hallo toms,
vielen Dank für Deine Lösung.
Mir ist noch eine Möglichkeit eingefallen: Beim Start innerhalb der IDE einen Parameter mitgeben und diesen auswerten.
Hintergrund der Fragestellung: eine Dll zur Kommunikation mit einer S7-Steuerung funktioniert nicht in der Entwicklungsumgebung von Delphi !?!. Für die Entwicklungsumgebung gibt es eine abgespeckte Version. Daher muss ich die entsprechende Dll zur Laufzeit dynamisch einbinden..

Gruß
Domino
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#9

Re: Programm innerhalb IDE gestartet?

  Alt 14. Okt 2003, 10:07
Zitat:
Beim Start innerhalb der IDE einen Parameter mitgeben und diesen auswerten.
Für deinen Fall wäre das sicher eine angemessene Lösung.
Thomas
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:54 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