Einzelnen Beitrag anzeigen

Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
804 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: FindComponent in einem Frame

  Alt 28. Jan 2014, 10:57
Hallo,

Das ist der Aufbau meines Frames:

Delphi-Quellcode:
unit FrameHelpTablesUnit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, AdvPageControl, ComCtrls, Grids, AdvObj, BaseGrid, AdvGrid, ExtCtrls,
  TGridDesignUnit, StdCtrls, AdvEdit;

type
  TFrame_HilfsTabellen = class(TFrame)
    Panel_Left: TPanel;
    Grid_HelpList: TAdvStringGrid;
    Page_HelpList: TAdvPageControl;
    TabSheet_Abteilungen: TAdvTabSheet;
    TabSheet_Adresse: TAdvTabSheet;
    TabSheet_Branche: TAdvTabSheet;
    TabSheet_Gruppe: TAdvTabSheet;
    TabSheet_Sprache: TAdvTabSheet;
    TabSheet_Status: TAdvTabSheet;
    TabSheet_Unternehmen: TAdvTabSheet;
    Panel_Abteilungen_Titel: TPanel;
    Panel_Adresse_Titel: TPanel;
    Panel_Branche_Titel: TPanel;
    Panel_Gruppe_Titel: TPanel;
    Panel_Sprache_Titel: TPanel;
    Panel_Status_Titel: TPanel;
    Panel_Unternehmen_Titel: TPanel;
    Panel_Abteilung_GridTitel: TPanel;
    AdvStringGrid1: TAdvStringGrid;
    Panel1: TPanel;
    AdvEdit1: TAdvEdit;
    procedure FrameResize(Sender: TObject);
    procedure Grid_HelpListClickCell(Sender: TObject; ARow, ACol: Integer);
    procedure Grid_HelpListSelectionChanged(Sender: TObject; ALeft, ATop,
      ARight, ABottom: Integer);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

implementation

Das ist der Procedureaufruf
Delphi-Quellcode:
procedure TFrame_HilfsTabellen.Grid_HelpListSelectionChanged(Sender: TObject;
  ALeft, ATop, ARight, ABottom: Integer);
begin
   Page_HelpList.ActivePage:=Frame_Hilfstabellen.FindComponent('TabSheet_'+Grid_HelpList.Cells[1,Grid_HelpList.Row]) as TAdvTabSheet;
end;
Aber er erkennt Frame_Hilfstabellen nicht. Ich bekomme die Fehlermeldung:"Formular "Frame_Hilfstabellen" referenziert Formular Frame_Hilfstabellen das in der Unit FrameHelpTablesUnit deklariert ist, aber nicht in Ihrer Uses-List steht. Möchten Sie es hinzufügen?"

Wenn ich dann ja sage, fügt er es in der Uses-Liste hinzu und gibt mir dann den Fehler:
[DCC Fataler Fehler] FrameHelpTablesUnit.pas(47): F2092 Das Programm oder die Unit 'FrameHelpTablesUnit' ruft sich selbst wieder auf Was ja auch logisch ist.

Kann mir jemand sagen, warum das bei einem Frame so schwierig ist?

Vielen Dank
Patrick
Patrick
  Mit Zitat antworten Zitat