Minulla on olemassa oleva Watcom C:llä kirjoitettu windows ohjelma. Ohjelmaa pitäisi päivittää niin että erästä tiettyä funktiota kutustaan aina kun ohjelma lopetetaan. (Se voidaan lopettaa joko Ctrl-C:llä tai hiirellä ikkunan ylänurkan ruksista.) Mihin tämä lopetusfunktio pitää laittaa?
Windows ohjelman lopetukseen tietty toiminto
*K*
3250
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 3
Vanhimmat
Sen jälkeen kun pääikkunaproseduuri on saanut WM_CLOSE -sanoman.
En tiedä miten watcomi toimii mutta eiköhän silläkin ole mahdollista toteuttaa joku rutiini pääikkunan sulkeutumiselle "OnClose" tms? Tässä välissä voit tehdä jonkun tietyn toiminnon/funktiokutsun ennenkuin sitten tuhoat ikkunan oikeasti. Noin se ainaskin periaatteessa menee.. korjatkoon joku jos puhun puutaheinää :)
Kiitoksia vihjeestä. Keksin ongelmaan toisenlaisen ratkaisun, jossa kyseistä toimintoa ei tarvita. (Itseasiassa siitä tuli tyylikkäämpi ratkaisu kuin siitä ensin mieleen juolahtaneesta.)
Kokeilin lisätä kuitenkin seuraavan pätkän ihan mielenkiinnosta:
case WM_CLOSE:
printf("TESTI\n");
break;
Ohjelman katkaisin CTR-C:llä. Tätä printtausta ei tullut näkyviin. (Kaikki muut debug printit tuli.)
Delphissä homma skulaa näin. Käännä käyttämällesi kielelle:
type
TForm1=class(TForm)
procedure WMDestroy(var MSG:TMessage); message WM_Destroy;
end;
Tuota kutsutaan, kun ohjelma saa pääformin ikkunaan WM_Destroy -sanoman Windowsilta.