Hallo Zusammen,
ich hab da mal eine Frage bzgl. Frames in ActiveForms. Wenn ich ein Frame zur Laufzeit erzeuge, dann funktioniert das auch alles wunderbar, außer im Frame ist ein TMemo oder TRichedit enthalten. Wenn man dann nun das Projekt erzeugt / startet, erhält man eine Excpetion:
EInvalidOperation ... Element 'AvailSoftFrame' hat kein übergeordnetes Fenster.
Verwende ich den gleichen Frame ohne die TMemo-Komponente funktioniert dieser.
Hat von euch auch mal eines dieses Phänomen festgestellt?
Delphi-Quellcode:
procedure TdcUpdateX.LoadAvailSoftFrame;
var
aFrame : TAvailSoftFrame;
begin
aFrame := TAvailSoftFrame.Create(panel_client);
aFrame.Parent := panel_client;
end;
panel_client ist ein TPanel, welches auf dem TActiveForm liegt.
Die Excpetion tritt hier auf:
Delphi-Quellcode:
procedure TWinControl.CreateWnd;
var
Params: TCreateParams;
TempClass: TWndClass;
ClassRegistered: Boolean;
begin
CreateParams(Params);
with Params do
begin
if (WndParent = 0) and (Style and WS_CHILD <> 0) then
if (Owner <> nil) and (csReading in Owner.ComponentState) and
(Owner is TWinControl) then
WndParent := TWinControl(Owner).Handle
else
raise EInvalidOperation.CreateFmt(SParentRequired, [Name]); <-- hier
...