Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.09.22;
Скачать: CL | DM;

Вниз

использование Assert   Найти похожие ветки 

 
LDV   (2013-01-10 17:26) [0]

есть класс:

TControlGroup = class
private
 Fcb_SortBy: TComboBox;
 Frb_Asc: TRadioButton;
 Frb_Desc: TRadioButton;
public
 constructor Create(const cb_SortBy: TComboBox; const rb_Asc,
   rb_Desc: TRadioButton);
 property cb_SortBy: TComboBox read Fcb_SortBy;
 property cb_Asc: TRadioButton read Frb_Asc;
 property cb_Desc: TRadioButton read Frb_Desc;
end;


в программе создается несколько объектов этого класа и кладутся в ObjectList. Есть такой код:


var
 ControlGroup: TControlGroup;
begin
 for I := 0 to ControlGroups.Count - 1 do
 begin
   ControlGroup := TControlGroup(FControlGroups[I]); // FControlGroups типа TObjectList
   Assert(ControlGroup <> nil);
   Assert(ControlGroup.cb_SortBy <> nil);
   Assert(ControlGroup.rb_Asc <> nil);
   Assert(ControlGroup.rbDesc <> nil);
   // ...
 end;
end;


Нужны ли здесь Assert"ы


 
Ega23 ©   (2013-01-10 17:31) [1]


> Нужны ли здесь Assert"ы

Assert-ы нужны для debug-версии, для release - Assertions Off


 
MBo ©   (2013-01-10 17:34) [2]

Assert"ы нужны программисту при отладке.
В данном месте кода их польза сомнительна, т.к. наличие контролов нужно контролировать при создании объекта группы, а объекта группы - при добавлении в список


 
O'ShinW ©   (2013-01-10 17:42) [3]

оно и не проконтролируется

 TCL = class
   private
     B: TButton;
   public
     constructor Create(AB: TButton);
     property cb: TButton read B;
 end;

 TForm1 = class(TForm)
   Button1: TButton;
   procedure Button1Click(Sender: TObject);
 private    { Private declarations }
 public     { Public declarations }
  CL: TCL;
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
 CL := TCL.Create(Button1);
 FreeAndNil(Button1);
 if CL.cb = nil then
   ShowMessage("Не выскочит")
end;

constructor TCL.Create(AB: TButton);
begin
  B := AB;
end;



Страницы: 1 вся ветка

Текущий архив: 2013.09.22;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.008 c
2-1357583131
Tim29
2013-01-07 22:25
2013.09.22
Работа с файлами


15-1365539402
Юрий
2013-04-10 00:30
2013.09.22
С днем рождения ! 10 апреля 2013 среда


15-1365625802
Юрий
2013-04-11 00:30
2013.09.22
С днем рождения ! 11 апреля 2013 четверг


15-1365684591
Demo
2013-04-11 16:49
2013.09.22
О веб разработке


1-1266331114
sniknik
2010-02-16 17:38
2013.09.22
Печать RTF (RichView ? другое ?)