Kysäisisin vielä, että jos es. ohjelma kysyy ohjelma sulkiessa, että tallennetaanko tekstitiedosto (form2), niin jos käyttäjä valitsee "kyllä", niin "SaveDialog" -aktivoituu ja pyytää käyttäjän tallentamaan tiedoston, jonnekin ja kun käyttäjä tallentaa niin ohjelma tallentaa (form1) -formilla olevan "RichEdit" tiedoston kyseiseen hakemistoon? Ja taas jos "Ei" niin ohjelma sulkeutuu? Kun taas peruuta laitetaan "Close();". Ohjelmana on Borland C++ Builder 5.
Kysymyksen formin sulkeutuessa saa tekemällä käsittelijän formin OnCloseQuery tapahtumalle. En saanut selvää mitä eri formien on tuossa tarkoitus tehdä, mutta tarkoititko kenties näin:
void __fastcall TForm1::FormCloseQuery(TObject *Sender, bool &CanClose) { int vastaus = MessageDlg("Tallenetaanko?", mtConfirmation, mbYesNoCancel, 0); if (vastaus == mrYes) { if (SaveDialog1->Execute()) { // Tallennetaan teksti RichEdit1->Lines->SaveToFile(SaveDialog1->FileName); CanClose = true; } else { // Käyttäjä painoi peruuta SaveDialogissa CanClose = false; } } else if (vastaus == mrNo) { // Ei tallenneta CanClose = true; } else { // Käyttäjä painoi peruuta CanClose = false; } }
Aihe on jo aika vanha, joten et voi enää vastata siihen.