Computer kann nicht herunterfahren wenn mein Programm auf ist



  • danke für euere Antworte.
    Ich habe alle Code in Destructor z.B FormClose() kommentiert, aber es geht trotzdem nicht. Ich verstehe es nicht, was kann der Grund noch sein?



  • Machst Du etwas in OnCloseQuery?

    Wenn ja: WAS?



  • genau das problem habe ich auch im moment. ich mache in OnCloseQuery GAR NIX und in OnClose mache ich nur das TrayIcon->Visible = false.
    das dürfte doch eigentlich das herunterfahren nicht beeinträchtigen oder?



  • Sorry für eine späte Antwort.

    in OnCloseQuery() habe ich gar nichts realisiert.
    😕 😕



  • Wär nett, wenn einer von euch beiden ein bischen Code zeigen könnte...? - oh mann und ich versuch die ganze zeit programme zu schreiben, die das herunterfahren verhindern 😮



  • so sieht die Implementierung von einem FormClose-Event von mir aus. Ich habe schon versucht, allen Code in allen FormClose-Events von meinem Programm zu kommentieren, aber es hat leider nicht geholfen.
    Vielleicht hast du doch eine Idee 🙂 Danke

    //---------------------------------------------------------------------------
    void __fastcall TF_Main::FormClose(TObject *Sender, TCloseAction &Action)
    {
        updateStarter();                 //check online version and do update(download) if it is necessary
        saveMerker(F_Option->RG_MerkerSave->ItemIndex, ExtractFilePath(Application->ExeName)+MERKER_FILE_NAME);            //save merker info from memory into a file
    
        for (int j=0; j<6; j++)
        {
            int count = _regionList[j]->Count;
            for (int i=0; i<count; i++)
            {
                Region *region = (Region*)_regionList[j]->Items[i];
                delete region;
            }
            delete _regionList[j];
        }
        for (int ind=0; ind<2; ind++)
        {
            for (int i=0; i<_tbmActionMaskList[ind]->Count; i++)
            {
                BookingMask *tbm = (BookingMask*)_tbmActionMaskList[ind]->Items[i];
                delete tbm;
            }
            delete _tbmActionMaskList[ind];
        }
    
        for (int i=0; i<_printList->Count; i++)
        {
            Area *area = (Area*)_printList->Items[i];
            delete area;
        }
        delete _printList;
    
        if (_currentXrsAdmin != NULL)
            delete _currentXrsAdmin;
    
        delete _smAot;
    
        delete _iniRead;
        delete _iniWrite;
        delete _operatorManager;
        delete _versionManager;
        delete _utilityManager;
        delete _provisionCalculator;
        delete _searchMaskManager;
        delete _bookingMaskManager;
        delete _date;
        delete _xmlCommands;
        delete _connector;
        delete _email;
    
        if (F_Register!=NULL)                //to delete a form manually
        {
            delete F_Register;
            F_Register=NULL;
        }
    }
    


  • du machst ein update beim programm-beenden (würde ich nie im OnClose machen!)?
    hast du mal mit dem debugger alles durchlaufen?
    was macht savemerker?



  • "SaveMerker" speichert einige Info vom Speicher in die Datei. Im Debug-Mode kann alle Code ohne Problem durchlaufen. Wenn ich alle Code im FormClose() wegnehme und das Programm auflasse, kann der Computer auch nicht herunterfahren. 😕



  • hmm... mal eine frage: was ist das für ein programm, wasmacht es genau?



  • verwendest du ne WindowProc?
    schon mal in allen OnClose, OnCloseQuery den code auskommentiert?


Anmelden zum Antworten