Borykam się z problemem powiązania ze sobą dynamicznie utworzonych komponentów: ADOConnection, ADOQuery i ADOTable. Wizualne komponenty można zestawić za pomocą Connection. W ADOQuery1 Connection wstawiamy ADOConnection1 i wszystko pięknie się komunikuje. Dlaczego tego samego nie mogę zrobić dynamicznie ?
procedure PodlaczDoBazy;
var
ADO_Co: TADOConnection;
ADO_Qu: TADOQuery;
ADO_Ta: TADOTable;
i: Integer;
begin
try
ADO_Co := TADOConnection.Create(Form1);
ADO_Qu := TADOQuery.Create(Form1);
ADO_Ta := TADOTable.Create(Form1);
for i := 1 to 3 do
begin
with ADO_Co do
begin
Name := 'ADOConnection' + IntToStr(i);
end;
with ADO_Qu do
begin
Connection := TADOConnection(FindComponent('ADOConnection' +
IntToStr(i)));
Name := 'ADOQuery' + IntToStr(i);
end;
with ADO_Ta do
begin
Connection := TADOConnection(FindComponent('ADOConnection' +
IntToStr(i)));
Name := 'ADOTable' + IntToStr(i);
end;
end;
except
NrBledu(420, 'PodlaczDoBazy');
end;
end;
Po odwołaniu się do ADOQuery1 procedura generuje błąd. Dlaczego tak się dzieje ?
dodanie znacznika <code class="delphi"> - fp