Вниз
Скачать: 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.003 c
15-1365732861
Kilkennycat
2013-04-12 06:14
2013.09.22
С днем космонавтики нас всех!


2-1357053624
hghhhJ
2013-01-01 19:20
2013.09.22
Как к "сейчас" прибавить время и вычислить новую дату и время?


2-1357505005
Mixasnt
2013-01-07 00:43
2013.09.22
не могу обработать одномерный массив введённый в едит.


15-1365676462
Bob
2013-04-11 14:34
2013.09.22
TColor и RGB - где правда в жизни ?


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




   Наверх