Miten saan delphillä nappulasta painamalla ohjelman käynnistämään itsensä uudelleen?
Yksi tapa on tehdä bat-tiedosto, joka käynnistää ohjelman ja aina tietyllä ohjelman paluuarvolla (virhekoodilla, ERRORLEVEL) käynnistää ohjelman uudestaan. Delphin puolella sinun pitäisi vain saada ohjelma sammumaan tietyllä paluuarvolla.
Eikös se onnistuisi niin, että nappia painaessa ohjelma käynnistää itsensä ShellExecutella ja sammuu vasta sitten? Jokseenkin näin siis:
procedure MainForm.NappiClick(Sender: TObject); begin ShellExecute(Parent, nil, PChar(ParamStr(0)), '', '', SW_SHOWNORMAL); Application.Terminate; end;
Voihan tuosta toki tehdä sellaisenkin version, että tässä käynnistetään vain toinen ohjelma, joka sitten pienen viiveen jälkeen käynnistää taas itse pääohjelman.
Aihe on jo aika vanha, joten et voi enää vastata siihen.