Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2013.09.22;
Скачать: [xml.tar.bz2];

Вниз

использование 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.002 c
15-1365397776
jimm_kerry
2013-04-08 09:09
2013.09.22
свой канал для кабельного ТВ гостиницы


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


15-1365908951
TUser
2013-04-14 07:09
2013.09.22
bormor о чиновниках


2-1357583131
Tim29
2013-01-07 22:25
2013.09.22
Работа с файлами


15-1365671938
ВВВ
2013-04-11 13:18
2013.09.22
Про видеокарту.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский