Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.004 c
15-1365885002
Юрий
2013-04-14 00:30
2013.09.22
С днем рождения ! 14 апреля 2013 воскресенье


15-1366110720
Demo
2013-04-16 15:12
2013.09.22
События в FoxPro MSDOS


15-1365495258
alexdn
2013-04-09 12:14
2013.09.22
Похоже полетел картридж


15-1365717745
картман
2013-04-12 02:02
2013.09.22
словарь 2


2-1357143710
lamer6666
2013-01-02 20:21
2013.09.22
Визуализация занятости приложения.




   Наверх