Einzelnen Beitrag anzeigen

Sergej_Molotov

Registriert seit: 18. Jul 2006
61 Beiträge
 
Delphi 11 Alexandria
 
#1

ocx ActiveForm und Frames

  Alt 30. Jun 2009, 09:15
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
...
Thomas
  Mit Zitat antworten Zitat