Приложение работает с фреймами.
Делал так.
unit uParent;
type
TframeParent = class(TFrame)
procedure EnterToFrame; virtual;
unit uOne;
type
TframeOne = class(TframeParent)
public
procedure EnterToFrame; override;
unit uMain;
var
CurrentFrame: TframeParent = nil;
procedure TfMain.Work;
begin
CurrentFrame:=TframeOne.Create(nil);
CurrentFrame.Parent := ScrolBox1;
CurrentFrame.EnterToFrame;
end;
Теперь перешёл на такой код.
unit uParent;
type
TframeParent = class(TFrame)
procedure EnterToFrame; virtual;
unit uOne;
type
TframeOne = class(TframeParent)
public
procedure EnterToFrame; override;
unit uMain;
MyClass: TComponentClass;
MyComp: TComponent = nil;
implementation
type
TClassArray = array [1..1] of TPersistentClass;
const
ClassArray: TClassArray = (TframeOne);
procedure TfMain.Work;
begin
if MyComp<>nil then FreeAndNil(MyComp);
MyClass:= TComponentClass(GetClass('TFrameOne'));
MyComp := MyClass.create(self);
TControl (MyComp) .parent := ScrollBox1;
...EnterToFrame;
end;
Не подскажите как справиться с утечкой памяти и добраться до своих процедур в фреймах?