Ermitteln ob EXE aktiv ist



  • Hi,

    http://www.c-plusplus.net/forum/viewtopic-var-t-is-160149-and-highlight-is-%2Aoncreat%2A.html

    Link von Braustein führt zu einem englischen Forum.
    Die Aussage dort ist mir neu:

    Ok, so let's summarize the most important reason why OnCreate is
    dangerous: because it could execute before your constructor executes
    and before any member objects have been initialized. In C++, it is
    generally mandated that a base class constructor should not be able to
    call the member functions of a derived class. OnCreate violates
    this. OnDestroy does too, but during destruction.

    Meine Frage ist jetzt, wie ich den Destruktor der Form einbaue?
    etwa so:

    Beispiel:

    unit1.h

    private:
    __fastcall TForm1::TForm1(TComponent* Owner): TForm(Owner);
     ~Form1();
     TGraphics::TBitmap *hallo;
    

    unit.cpp

    __fastcall TForm1::TForm1(TComponent* Owner) 
            : TForm(Owner) 
    { 
     hallo=new TGraphics::TBitmap();
    } 
    //--------------------------------------------------------------------------- 
    ~Form1()
    {
     delete hallo;
    }
    

    wäre das so richtig?



  • Bitte die Faustregel beachten: ein Thema ein Thread, ein Thread ein Thema. Danke!



  • Geht sowas auch indem man prüft, ob z.B. ABC.EXE in den ausgeführten Prozessen steht? Wenn ja, wie prüft man dies?



  • Hallo

    dlonra schrieb:

    Meine Frage ist jetzt, wie ich den Destruktor der Form einbaue?
    etwa so:

    ja, Syntax und Anwendung von Destruktor und Konstruktor sind in Ordnung.
    Wenn du aber schon mal dabei bist, dann mach es gleich richtig und benutzt die Initialisierungsliste

    __fastcall TForm1::TForm1(TComponent* Owner)
            : TForm(Owner), hallo(new TGraphics::TBitmap())
    {
    }
    

    Aber nun back to Topic.

    Feyo-Su schrieb:

    Geht sowas auch indem man prüft, ob z.B. ABC.EXE in den ausgeführten Prozessen steht? Wenn ja, wie prüft man dies?

    Ja das geht auch, mit der WinAPI-Funktion FindWindow.
    Allerdings ist das etwas unsauberer, mit den Mutexten geht das sicherer.

    bis bald
    akari



  • Habe mal über Google bisschen gesucht, nachdem ich in der BCB Hilfe nichts gefunden hatte. Aber ich finde keine Seite wo steht wie man FindWindow benutzt. Hat vielleicht jemand gerade einen Link dazu, oder kanns selber erklären? Danke scho'ma



  • Hi,

    hier hab ich ein Beispiel für FindWindow gefunden. So wie es aussieht muss dieser Code in die Projekt.cpp rein.

    http://www.bcb-box.de/Informationen/Laeuftschon/laeuftschon.html

    🙄

    auch interessante Schnippsel
    http://www.bcb-box.de/Informationen/informationen.html
    Grüsse



  • Vielen Dank, funktioniert.
    Muss nicht zwingend in die Projekt.cpp.


Anmelden zum Antworten