sla8a писал(а):
Тогда так:Ага, а doSectionData делаем так
procedure THIini._work_doSectionData;
var StrList:PStrList;
I:integer;
begin
TRY
if not Open(_Data,ifmRead) then exit;
TRY
StrList := NewStrList;
Ini.SectionData(strList);
for i := 0 to strList.Count-1 do
_hi_OnEvent(_event_onSectionData,strList.Items[i]);
FINALLY
strList.free;
END;
FINALLY
Ini.Free;
END;
end;
--- Добавлено в 2018-11-27 00:17:15
Galkov писал(а):
Это уже как бы называется консенсусА мы вообще где-то защищались от исключения в _hi_OnEvent?
Что-то, КМК, мы перемудрили?
--- Добавлено в 2018-11-27 00:21:31
Вообще-то я ставлю секции FINALLY для очистки ресурсов там, где может быть несанкционированный выход по условию, как с функцией Open
--- Добавлено в 2018-11-27 00:37:36
Не, ну кому не нравится секция FINALLY, то можно и так сделать
procedure THIini._work_doSectionData;
var StrList:PStrList;
I:integer;
begin
if Open(_Data,ifmRead) then
begin
StrList := NewStrList;
Ini.SectionData(strList);
for i := 0 to strList.Count-1 do
_hi_OnEvent(_event_onSectionData,strList.Items[i]);
strList.free;
end;
Ini.Free;
end;