Jestem początkującym w C++ Builder i zatrzymałem się na takim problemie i bardzo proszę o pomoc:)
Gdy otwieram Form1, w zdarzeniu(Events) OnShow tworzę sobie 2 listy ListaPro i ListaProBlk poprzez TStringList, które potem wrzucam do ComboBox'a (listę ListaPro) i do Memo1 (listę ListaProBlk). Do ListaPro i ListaProBlk ładuje dane z bazy Interbase.
Z załadowaniem ListaPro do ComboBox1 nie mam problemu, ale chciałem zrobić teraz tak, że w ComboBox1 na zdarzenie(Events) OnChange chciałem pobrać aktualny numer wybranej pozycji w ComboBox1 i za pomocą tej wartości wyświetlić odpowiednia do niej pozycję z ListaProBlk w Memo1.
Mój problem polega na tym, że gdy jestem w OnChange w ComboBox1 to nie wiem jak się odwołać do utworzonej listy ListaProBlk w zdarzeniu OnShow, bo kompilator pisze ze "Nie zna ListaProBlk"
Chodzi tu za pewne o odpowiednie odwolanie się do Form1::FormShow, ale nie jak to zrobić:(
Mam nadzieje, że nie zamieszałem:)
- Kod: Zaznacz cały
void __fastcall TForm1::FormShow(TObject *Sender)
{
ComboBox1->Clear();
TStringList *ListaPro= new TStringList;
TStringList *ListaProBlk= new TStringList;
DM->IBQuery1->SQL->Clear();
DM->IBQuery1->SQL->Text = "select * from produkty";
DM->IBQuery1->Open();
while(!DM->IBQuery1->Eof)
{
ListaPro->Add(DM->IBQuery1->FieldByName("NAZWA_PRO")->AsString);
ListaProBlk->Add(DM->IBQuery1->FieldByName("BIALKO")->AsString);
DM->IBQuery1->Next();
}
ComboBox1->Items= ListaPro;
}
- Kod: Zaznacz cały
void __fastcall TForm1::ComboBox1Change(TObject *Sender)
{
Memo1->Text=ListaProBlk->Strings[CmBxPro->ItemIndex];//[b]i tu wywala blad ze nie zna ListaProBlk[/b]
}




Funkcje.