Announcement

Collapse
No announcement yet.

Komponenten herausfinden, die an einem TDataSource hängen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Komponenten herausfinden, die an einem TDataSource hängen

    Hallo zusammen

    Ich möchte herausfinden, welche Komponenten (z.B. DataGrid) an einem TDataSource "angehängt" sind, und zwar vom TDataSource aus gesehen. Gibt es dafür eine Lösung?

    Besten Dank
    Stefan

  • #2
    Hallo Stefan,
    <br>mit folgendem Source kannst Du in TDatasource nachschauen, welche
    TDataLink Objekte sich "angemeldet" haben.
    <pre>
    unit Unit1;

    interface

    uses
    Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
    Grids, DBGrids, Db, DBTables, StdCtrls, DBCtrls;

    type
    TForm1 = class(TForm)
    DataSource1: TDataSource;
    Table1: TTable;
    DBGrid1: TDBGrid;
    DBText1: TDBText;
    ListBox1: TListBox;
    Button1: TButton;
    DBMemo1: TDBMemo;
    DBListBox1: TDBListBox;
    procedure Button1Click(Sender: TObject);
    private
    { Private-Deklarationen }
    public
    { Public-Deklarationen }
    end;

    TTmpDataSource = class(TDatasource)
    public
    property DataLinks;
    end;

    var
    Form1: TForm1;

    implementation

    {$R *.DFM}

    procedure TForm1.Button1Click(Sender: TObject);
    var
    iCnt : Integer;
    begin
    Listbox1.Clear;
    For iCnt:=0 to TTmpDataSource(DataSource1).DataLinks.Count-1 do
    begin
    ListBox1.Items.Add(TComponent(TTmpDataSource(DataS ource1).DataLinks[iCnt]).Classname);
    end;
    end;

    end.
    </pre>
    Da der gemeinsame Vorfahre von der DataLinks TDataLinks ist und in TDataLink kein Hinweis auf die Datensteuerungskomponente vorhanden ist, (glaube ich) gibt es keine Möglichkeit von TDatasouce ausgehend
    die Datensteuerungskomponenten zu finden

    Comment


    • #3
      Hallo Jens

      Besten Dank für Deine Antwort, die hilft mir bereits.

      Gruss Stefa

      Comment

      Working...
      X