![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Создан компонент 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; |