Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Rausfinden wie oft ein Programm läuft (https://www.delphipraxis.net/158389-rausfinden-wie-oft-ein-programm-laeuft.html)

Luckie 10. Dez 2011 21:44

AW: Rausfinden wie oft ein Programm läuft
 
Und was steht in der angegeben Zeilennummer?

blutsgeist 10. Dez 2011 21:46

AW: Rausfinden wie oft ein Programm läuft
 
Zeile 32:
Code:
THandle := CreateMutex(nil, True, 'calc.exe'+ IntToStr(i));
Zeile 37:
Code:
if THandle <> 0 then CloseHandle(THandle);

Luckie 10. Dez 2011 21:57

AW: Rausfinden wie oft ein Programm läuft
 
Da stimmen aber alle Klammern. Kommentiere mal den ganzen Initialization abschnitt aus und probiere es noch mal.

himitsu 10. Dez 2011 22:03

AW: Rausfinden wie oft ein Programm läuft
 
CreateMutex = WinAPI

Wenn man sich die Parameter ansieht, dann will das einen PChar (wobei den D2009-XE2 (?) natürlich von PWideChar redet)

Delphi-Quellcode:
'calc.exe'+ IntToStr(i)
= String

Und was sagt dir die eine Fehlerzeile?

blutsgeist 10. Dez 2011 22:09

AW: Rausfinden wie oft ein Programm läuft
 
Entweder bin ich zu doof oder ich blick nicht mehr durch.

Hier mal der gesagte Source:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TForm1 = class(TForm)
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

var
        i:Integer=0;
      Initialization //Zählen wie oft das Programm gestartet wird
          repeat
              THandle := CreateMutex(nil, True, 'calc.exe'+ IntToStr(i));
              Inc(i);
          until GetLastError <> ERROR_ALREADY_EXISTS;
          MessageBox(0, PChar('Das Programm wurde'+IntToStr(i)+'mal gestartet') , 'MeinProg', MB_OK)
      finalization
         if THandle <> 0 then CloseHandle(THandle);

end.
Glieder ich THandle := CreateMutex(nil, True, 'calc.exe'+ IntToStr(i)); und if THandle <> 0 then CloseHandle(THandle); aus, läuft das Programm. Sind die beiden aber wieder drin, zickt das nur rum -.-

Luckie 10. Dez 2011 22:13

AW: Rausfinden wie oft ein Programm läuft
 
Argh.

Delphi-Quellcode:
var
  mHandle: THandle;
Hast du noch nie eine Variable deklariert?

blutsgeist 10. Dez 2011 22:24

AW: Rausfinden wie oft ein Programm läuft
 
Paar Variablen habe ich schon Deklariert, allerdings ist das schon eine weile her -.-

Ausbildung und so ging einfach vor ...

Vielen Dank für eure Zeit, die ich in anspruch genommen habe.
Ich werde allerdings heute Delphi ruhen lassen... Sehe den Wald vor lauter Bäumen nicht mehr......

LG

Delphi-Laie 11. Dez 2011 11:34

AW: Rausfinden wie oft ein Programm läuft
 
Zitat:

Zitat von WM_CLOSE (Beitrag 1081936)
Du könntest folgendes Versuchen:
Delphi-Quellcode:
      var
        i:Integer=0;    
      Initialization //Zählen wie oft das Programm gestartet wird
          repeat
              mHandle := CreateMutex(nil, True, 'InstanzMeinerApplikation'+ IntToStr(i));
              Inc(i);
          until GetLastError <> ERROR_ALREADY_EXISTS;
          MessageBox(0, PChar('Das Programm wurde'+IntToStr(i)+'mal gestartet') , 'MeinProg', MB_OK)
      finalization
         if mHandle <> 0 then CloseHandle(mHandle);
Man bemerke, dass das eine ziemlich fiese möglichkeit ist.

Inwiefern ist denn diese Möglichkeit "fies"?

DelTurbo 11. Dez 2011 11:50

AW: Rausfinden wie oft ein Programm läuft
 
Hi,
ich habe es damals mit TJvAppInstances gemacht. Das ding kann aber nochmehr. Legs einfach mal drauf und spiel bissl mit rum. So lerne ich immer wenn ich was nicht weiss. Komme ich nicht weiter, dann google ich. zu 80% finde ich dann einen link nach hier, wo das steht was ich brauche.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:04 Uhr.
Seite 3 von 3     123   

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