Megjegyzem, hogy a fájlt megnyitja minden alkalommal amikor a ComboBoxhoz nyúlsz, ami nem túl frankó dolog.
Igen, tisztában vagyok vele. Sajnos nem találtam rá jobb megoldást, hogy egy második form által módosított varosok.dat-ot újra beolvastathassam vele. Az eredeti megoldáskor csak akkor olvasta be a fájlt, mikor indult az alkalmazás, így a lista bővítése után újra kellett indítani a programot.
VC++-ban ez szépen meg lett oldva:
if (UjVaros->ShowDialog(this)==System::Windows::Forms::DialogResult::OK) // "Település felvétele" form megjelenítése
{
try // Új település rögzítése a comboboxokban és a be/kimeneti állományban
{
KiIr=File::AppendText("varos.txt");
KiIr->WriteLine(UjVaros->textUjTelepules->Text);
KiIr->Flush();
comboLakhely->BeginUpdate();
comboLakhely->Items->Add(UjVaros->textUjTelepules->Text);
comboLakhely->EndUpdate();
comboSzulHely->BeginUpdate();
comboSzulHely->Items->Add(UjVaros->textUjTelepules->Text);
comboSzulHely->EndUpdate();
}
catch (Exception^ e)
{
MessageBox::Show(e->Message);
}
finally
{
if(KiIr)
KiIr->Close();
}
}
viszont Qt megfelelőjére még nem jöttem rá. (Ugyanez a project megy VC++-ban, amit szemináriumon fejlesztgetünk, csak én szeretnék egy platformfüggetlen megoldást "tanulás" címén.)