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...