Создан компонент TActionFrame
Код:
TFrameAction = class(TFrame)
ScrollBox1: TScrollBox;
LabEdName: TLabeledEdit;
LabedPath: TLabeledEdit;
LabEdType: TLabeledEdit;
LabEdSize: TLabeledEdit;
LabEdDate: TLabeledEdit;
BtnClear: TRzBitBtn;
BtnExit: TRzBitBtn;
StatBar: TStatusBar;
LProc: TLabel;
RzSepr1: TRzSeparator;
procedure BtnClearClick(Sender: TObject);
procedure BtnExitClick(Sender: TObject);
protected
{Protected declaration}
FObjType : byte;
FMainAction : byte;
FParam :string;
...
var
FrameAction: TFrameAction;
на главной форме имеет имя TFrameAction1
по нажатию клавиши исп. след. код
Код:
procedure TFrameAction.BtnClearClick(Sender: TObject);
var
inifilename : string;
begin
BtnClear.Enabled := false;
Cleaner := TCleaner.Create(FrameAction);
inifilename := ExtractFileName(Application.ExeName);
inifilename := ChangeFileExt(inifilename, '.ini');
Cleaner.LoadFromIni(inifilename);
case ObjType of
1: Cleaner.ObjForClean := 1;
2: Cleaner.ObjForClean := 2;
3: Cleaner.ObjForClean := 3;
end;
S := FrameAction.Param;
Cleaner.PathObjForClean.Add(FrameAction.Param);
Cleaner.MainCleanFunc;
FormMain.ShellListView.Refresh;
end;
проблема в строке
Код:
Cleaner := TCleaner.Create(FrameAction);
выдает FrameAction : nil
TCleaner.Create выглядит следующим образом
Код:
constructor TCleaner.Create(Form:TFrame);
var
pixNum:integer;
begin
FObjForClean:=0;
FPathObjForClean:=TStringList.Create;
Lab:= TLabel.Create(Form);
with Lab do
begin
Parent:=Form;
Caption:='0%';
Transparent:=true;
Left:=678;
Top:= 320;
Font.name:= 'MS Sans Serif';
Font.Size:=8;
Font.Color:=clBlack;
end;
ProgrBar:= TProgressBar.Create(Form);
with ProgrBar do
begin
Parent:=Form;
Width:=617;
Height:=24;
Left:=14;
Top:=312;
//Orientation:=TOrientation(orHorizontal);
Position:=0;
end;
end;