kontrolka VCL jako argument funkcji

0

Witam

Piszę w BCB 2009. Mam w projekcie wykonać formularz, w którym operacje będą wykonywane na kontrolach ListBox. Kontroli ListBox będą pogrupowane. Grup kontrolek będzie cztery. W pierwszej kontrolce z grupy będą dostępne wszystkie możliwe opcje filtra w moim programie, w drugiej będą tylko te które chcę wykorzystać w filtrze w trakcie działania programu. Z ListBox(x) wartości (które potem dodam do filtra) będą przepisywane do ListBox(x+1), wartości z ListBox(x+1) będą trafiały do stringu będącego dalej w programie wartością filtru.

Jako że jest cztery takie same grupy, myślałem nad wykonaniem jednej funkcji, gdzie jako argumenty podawałbym kontrolki ListBox. Niestety ale kompilator odrzuca taką możliwość informując że nie mogę do funkcji przesłać właściwej kontrolki VCL.

[BCC32 Error] Unit15.cpp(62): E2459 VCL style classes must be constructed using operator new

Mogę stworzyć nową kontrolkę przy użyciu operatora new i ją przesłać do funkcji jako argument. Ale jeżeli prześlę taką kontrolkę, to nie będę mógł zmienić tej, którą podaję jako źródłową.

Jak można rozwiązać taką funkcję ?

0

Nie wiem jak próbujesz przekazać ListBox, ale tak chyba powinno zadziałać:

void funkcja(TListBox* lst) {
.....
}

W poprzednich wersjach BCB działało...

0

Faktycznie, działa.

Próbowałem wywołać w ten sposób

void funkcja(TListBox lst) {
.....
}

Dzięki za wsparcie początkującego programisty.

1 użytkowników online, w tym zalogowanych: 0, gości: 1