Einzelnen Beitrag anzeigen

jaikai

Registriert seit: 1. Jun 2005
70 Beiträge
 
#1

TFrames auf Scrollbar --> FindComponent

  Alt 13. Jul 2005, 16:08
Hallo Leute,

ich hab'n Problem mit meinen Frames.

Code:
procedure TMainForm.Neues_Blatt(Sender: TObject);
// ... erzeugt neuen Frame innerhalb Scrollbox
// ... TFrameAnzeige = class(TFrame) in separater Unit
var Child: TFrameAnzeige;
begin
  ...
  Child := TFrameAnzeige.Create(ScrollBox1);
  Child.name   := 'Frame' + IntToStr(Anzahl_Neu);
  Child.Caption := Name;
  Child.Parent := MainForm.ScrollBox1;
  Child.SetBounds (0, 0, ScrollBox1.Width -5, 116); // Links, Oben, Weite, Höhe

  with Child.PanelAnzeige do begin
       //(... Größen anpassen)
       end;
end;


procedure TMainForm.Anordnen(Sender: TObject);
var i, k : integer;
begin
    // ...
    // Anzahl_neu ist der Strtoint-Wert der dem Namen angehängt wird
    // ...
    for i := 0 to Anzahl_Neu do
        if (FindComponent('Anzeige' + IntToStr(i)) as TFrameAnzeige) <> nil then
            with (FindComponent('Anzeige' + IntToStr(i)) as TFrameAnzeige) do begin
                // ... nur Positionen lesen und neu setzen - hier unwichtig...
            end;
end;
In der Procedure "Neues_Blatt" wird ein gegebener TFrame erzeugt und (anscheinend) korrekt auf die Scrollbox gelegt. Name ist eindeutig und sollte doch wieder-findbar sein.

In der zweiten Procedure "Anordnen" müßte dieser Frame als Komponente anundfürsich gefunden werden können. Tausche ich das "TFrameAnzeige" gegen "TFrame" aus, passiert auch nichts.
"uses (Unit mit dem Frame) ist auch gesetzt.


Bei mir wird er aber nicht gefunden! Warum, wo liegt der Fehler?
Kann mir bitte jemand helfen?

Danke
Wenn die Programme das machen, wie's wir machen, wären sie unbrauchbar...
  Mit Zitat antworten Zitat