hej, mam problem z Borlandowską bazą danych.
uzywam Borland Builder C++, muszę używać obiektów swoich klas (niekiedy na siłę troche) bo takie założenia projektu (bardziej chodzi o OOP niż o samą baze).
mam szereg klas dziedziczonych i w każdej funkcję (virtualną) która dodaje obiekt na rzecz którego została wywołana do bazy (ClientDataSet).
W projekcie ogólnie korzystam z komponentów:
DataSource (x3)
ClientDataSet (x3)
DBGrid (x1)
Problem polega na tym że chciałbym w celu większej optymalności całego projektu (OOP)
przesyłać (wskaźnik na) ClientDataSet jako argument do mojej funkcji virtualnej dodającej do bazy.
oto co mam mniej wiecej w funkcji
void osobowy::add_to_DB()
{
Form1->ClientDataSet1->FieldByName("ID")->AsInteger = Form3->make_index();
Form1->ClientDataSet1->FieldByName("Company")->AsString = this->company;
Form1->ClientDataSet1->FieldByName("Model")->AsString = this->model;
...
}
a chciałbym mieć cos takiego
void osobowy::add_to_DB(TClientDataSet *a)
{
a->FieldByName("ID")->AsInteger = Form3->make_index();
a->FieldByName("Company")->AsString = this->company;
a->FieldByName("Model")->AsString = this->model;
...
}
zeby móc przesyłać w kodzie cos takiego sobie
moje_jakies_auto->add_to_DB(Form1->ClientDataSet1);
czyli de facto zeby moja funkcja była bardziej uniwersalna
NIe wiem dlaczego nie umie przesłać ClientDataSet jako argumentu funkcji (na necie tego tez nie znalazłem nigdzie :/ )
podczas gdy przesłanie np. TEdit czy nawet całego TForma nie sprawia kłopotu
prosze o pomoc, jakąs rade :)