Dostęp do ramki z głównego modułu

0

Witam.
Mam taki mały problemik. Tworzę ramkę i chciałbym po utworzeniu wykonać pewne instrukcje. Na ramce są dwa komponenty TMemo do wypełnienia tekstem. Kawałek kodu:

 
var Ramka : TFrame;

implementation
uses UnitZRamka;
{$R *.dfm}

procedure TfrmMain.SpeedButton1Click(Sender: TObject);
var tekst : String;
begin
if SpeedButton1.Down then
begin
  if Ramka <> nil then
  begin
    Ramka.Free;
    Ramka := nil;
  end;

  Ramka := TFrame1.Create(frmMain);
  Ramka.Parent := frmMain;
  Ramka.Align := alClient;
  DataModule2.dsetDane.CommandText := 'select * from tabela;';
  DataModule2.dsetDane.Active := True;
  tekst := DataModule2.dsetDane.Recordset.Fields.Item[0].Value;
  Frame1.Memo1.Clear;
  Frame1.Memo1.Lines.Add(tekst);
end else
begin
  Ramka.Free;
  Ramka := nil;
end;

end;

Podczas kompilacji wywalany jest błąd, że nie znaleziono Frame1. Co jest nie tak? I jak to poprawić, żeby z poziomu modułu dla formy głównej, można było wstawić coś do TMemo na TFrame??

0

zamiast:
Frame1.Memo1.Clear;
Frame1.Memo1.Lines.Add(tekst);
użyj:
(Ramka as TFrame1).Memo1.Clear;
(Ramka as TFrame1).Memo1.Lines.Add(tekst);

lub
Zmień typ zmiennej Ramka na TFrame1
zaś wyżej wspomniane wierze zamień na:
Ramka.Memo1.Clear;
Ramka.Memo1.Lines.Add(tekst);

0

Dzięki. Działa. O to chodziło. Dzięki za przypomnienie. :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1