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.