ورود

View Full Version : Find Non Visual Component



net_ved
یک شنبه 23 دی 1386, 11:14 صبح
من این کدرو نوشتم ... برای اشیاء بصری کار می کنه ولی برای اشیا غیر بصری کار نمی کنه ... در واقع توابع FindComponent , FindGlobalComponent روی اشیا غیر بصری که Create شده اند جواب نمی ده ... مشکل کجاست ؟

procedure TForm1.Button2Click(Sender: TObject);
var DS:TDataSource;
begin
if TDataSource(FindComponent('DS1'))<>nil then
begin
TDataSource(FindGlobalComponent('DS1')).Destroy;
end

DS:=TDataSource.Create(Application);
DS.DataSet:=ADOTable1;
DS.Name:='DS1';

end;

Touska
یک شنبه 23 دی 1386, 12:40 عصر
سلام عزیز :


procedure TForm1.Button1Click(Sender: TObject);
begin
A := TADOQuery.Create(Self);
A.Name := 'AdoQ1';
A.SQL.Clear;
A.SQL.Add('Select * From Mostafa');
end;

procedure TForm1.Button2Click(Sender: TObject);
Var
Comp : TComponent;
begin
Comp := FindComponent('AdoQ1');
IF Assigned(Comp) And (Comp IS TADOQuery) Then
ShowMessage(TADOQuery(Comp).SQL.Text);
end;

net_ved
یک شنبه 23 دی 1386, 13:06 عصر
با تشکر بسیار از آقای سرباززاده .... همون جور که تو کدتون نشون دادین مشکل در Self بود که من به اشتبا Application نوشته بودم و متد Findcomponent کار نمی کرد .. ممنون