Finns det något enkelt sätt för en applikation att starta om sig själv? Kan du inte bara starta en till proess till vilken du skickar med process handlen för din nuvarande process. Den nya processen gör nu ett anrop till TerminateProcess och när det aropet retuneras startar den din application med CreateProcess. >Kan du inte bara starta en till proess till vilken du skickar med process handlen för din nuvarandeStarta om applikation
Anledningen till att jag vill göra det är att jag använder ett bibliotek som har en bug som gör att programmet krashar (segmentation fault) efter en tid. Jag har inte tillgång till källkoden för biblioteket så det enda jag kan göra är att fånga felet med "catch (...)". Tyvärr innehåller biblioteket en licenshantering som gör att att jag måste avsluta programmet för att kunna använda biblioteket igen.
Hur bär jag mig åt för att återstarta, helst med samma kommandoradsparametrar, applikationen?Sv: Starta om applikation
Vet inte om det passar din lösning men borde du inte kunna ladda om biblioteket med jämna mellanrum ist för att starta om hela programmet?Sv:Starta om applikation
>process. Den nya processen gör nu ett anrop till TerminateProcess och när det aropet retuneras startar
>den din application med CreateProcess.
TerminateProcess behövs inte eftersom jag kan avsluta applikationen efter att jag skapat den nya processen. Det jag inte riktigt förstår ar vilka resurser som hör ihop.
Om applikationen gör CreateProcess så har den ju en referens till den nya processen. Kommer då inte den gamla processen att vara levande så länge den nya processen lever.
>Vet inte om det passar din lösning men borde du inte kunna ladda om biblioteket med jämna
>mellanrum ist för att starta om hela programmet?
Bilioteket ligger i en dll som laddas automatiskt. Det är därför jag behöver avsluta applikationen så att all resurser frigörs.