Вверх ↑
Разработчик
Ответов: 26066
Рейтинг: 2120
#1: 2018-11-27 00:15:05 ЛС | профиль | цитата
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;
карма: 22

0
Редактировалось 5 раз(а), последний 2018-11-27 00:37:57