programm höhrt irgendwann auf zu arbeiten



  • Ich hab n kleines Programm geschrieben, das bis jetzt nur im Hintergrund läuft und jede sekunde prüft ob der PC Online is (mit TIdIpWatch->IsOnline()) wenn er online is soll er ne datei mit informationen aus dem internet laden (TIdHTTP->Get()) und diese Informationen verarbeiten. Das macht das Programm auch schön brav... aber irgendwann, so nach na viertel stunde nicht mehr...
    kanns sein, dass des wenns ne weile immer des selbe macht es automatisch damit aufhöhrt oder so? habs auf win2k und win98 ausprobiert, is bei beiden des gleiche... 😞

    edit:
    dass der jede minute was macht hab ich mit einem timer gemacht



  • Hallo Cypher,

    so ein klein wenig fühle ich mich ja auf den Arm genommen bei der Frage ob ein Programm automatisch aufhört wenn es immer das gleiche macht. Wir haben noch nicht den 1. April.

    Legst du bei jedem Timerinterval Speicherbereiche an z.B. mit

    new
    

    oder mit

    malloc
    

    und gibst diese nicht wieder frei?

    Evi48



  • wird das Programm denn beendet oder machts einfach noichts mehr?! 😕



  • @evi:
    musst dich net aufn arm genommen fühlen.... ich hab gedacht, dass vllt. windows das als so ne art ressourcen schutz macht... is ja schon ungewöhnlich, dass n prog immer des selbe macht, aber wenn es so wäre hätte es mich auch gewundert.
    und, ja, ich lege neue speicherberreiche an und gebe sie nicht wieder frei... das änder ich gleich mal, danke für den tipp.

    @goto:
    beendet wirds nicht, ich weiss net obs gar nix mehr macht, auf jeden fall bringt es nicht mehr die gewünschten resultate...



  • hab jetzt überall wo ich objekte mit new erstellt hab sie wieder mit delete freigegeben, bzw. mit free(), aber die speichernutzung die im taskmanager angegeben wird steigt weiterhin...



  • steigt sie denn auch noch, wenn du das Programm beendest?



  • ich mein bei win2k das was im taskmanager hinter dem entsprechenden programmnamen steht... wenn ich das programm beende is es nicht mehr da 😉
    aber dieser wert ändert sich öfters mal, jetzt is er wieder niedriger geworden... *amkopfkratz*
    und das blöde programm arbeitet schon wieder net wie es soll...

    vllt geht das besser wenn ich es als service schreibe, ich weiss zwar noch net genau was des is, geschweige denn wie man sowas schreibt, aber die sind doch darauf ausgelegt im hintergrund irgendwas zu machen oder?



  • Cypher schrieb:

    vllt geht das besser wenn ich es als service schreibe

    Das nützt dir auch nichts, wenn du ein Ressourcen-Leck in deinem Code hast. Da hilft nur gründliche Fehlersuche. Als Hilfsmittel empfehlen sich hier z.B. CodeGuard (gibt's bei den teureren BCB-Versionen) oder MemProof (Freeware).



  • diesen CodeGuard hab ich, allerdings weiss ich weder was der macht noch wie man ihn benutzt. hab grad kurz in google geschaut, aber da war auch nix wo den beschreibt (ich hab zumindest nix gefunden)



  • Ich darf mal den Einleitungstext dieses Forums zitieren:
    "Bitte immer zuerst die BCB-Hilfe, die FAQ und die Suchfunktion benutzen."


Anmelden zum Antworten