Einzelnen Beitrag anzeigen

nahpets
(Gast)

n/a Beiträge
 
#9

AW: Frame aus eigener Prozedur aufrufen

  Alt 8. Sep 2015, 21:17
Mir fällt gerade auf, dass ich auch auf die Edit Boxen auf meinen Frames über die Prozedur nicht zugreifen kann. Ich kann in meiner Prozedur von meiner MainForm eine ListBox über FormMain.ListBoxCommands.Items[FormMain.ListBoxCommands.ItemIndex] auslesen, den Wert aber nicht in meiner Prozedur per FrameH.EditX.Text:=... übergeben. Da hab ich wieder ein [Error]Undeclared identifier: 'EditX' ...

Irgendwas mach ich doch grundlegend falsch.
Bei der Übergabe von TFrame an die Prozedure sind innerhalb der Prozedure nur die Attribute bekannte, über die TFrame verfügt. Wenn FrameH von TFrame abgeleitet ist und dazu zusätzlich ein Edit bekommen hat, so ist dieses in der Prozedure nicht bekannt, dann muss die Prozedur geändert werden, funktioniert aber nicht mehr mit beliebigen Frames, sondern nur noch mit Frames vom Typ TFrameH und den davon abgeleiteten Varianten.
Delphi-Quellcode:
procedure CNCCommandBox(H:String;myFrame:TFrameH);
begin
  if (H ='A') then begin
    myFrame.visible:=true;
    myFrame.Left:=1;
    myFrame.Top:=2;
    myFrame.EditX.Text := 'A';
  end else
  if (H ='B') then begin
    myFrame.visible:=false;
    myFrame.Left:=1;
    myFrame.Top:=2;
    myFrame.EditX.Text := '';
  end else
  if (H ='H') then begin
    myFrame.visible:=true;
    myFrame.Left:=192;
    myFrame.Top:=232;
    myFrame.EditX.Text := '';
  end;
end;
  Mit Zitat antworten Zitat