Вверх ↑
Разработчик
Ответов: 26061
Рейтинг: 2120
#1: 2018-11-26 22:19:31 ЛС | профиль | цитата
Может у нас код разный, а может тогда я чего-то не догнал
Смотрим код и попытаемся его разобрать
procedure THIini.Open;
begin
Result := false;
Ini := OpenIniFile(ReadFileName(ReadString(_Data,_data_FileName,_prop_FileName)));
Ini.Section := ReadString(_Data,_data_Section,_prop_Section);
if Ini.Section = '' then exit;
// ifmRead - флаг для чтения; ifmWrite - флаг для записи
Ini.Mode := ifm;
Result := true;
end;
и
procedure THIini._work_doSectionNames;
var StrList:PStrList;
I:integer;
begin
TRY
if not Open(_Data,ifmRead) then exit;
StrList := NewStrList;
Ini.GetSectionNames(strList);
for i := 0 to strList.Count-1 do
_hi_OnEvent(_event_onSectionNames,strList.Items[i]);
strList.free;
FINALLY
Ini.Free;
END;
end;
Как может выполнятся код после Open в doSectionNames, если функция Open вернет False, а вернет она ее, если Ini.Section = '' ?
Это чисто логические разборки кода, но честно, я не проверял его конкретно, может я где-то и ошибаюсь.
карма: 22

0
Редактировалось 4 раз(а), последний 2018-11-26 22:24:41