Форум: "Начинающим";
Текущий архив: 2007.09.30;
Скачать: [xml.tar.bz2];
ВнизКак загрузить из INI список секций в ComboBox? Найти похожие ветки
← →
Lyberzon © (2007-09-03 14:03) [0]Уважаемые Мастера! Подскажите, как загрузить из INI-файла список секций в ComboBox?
← →
MBo © (2007-09-03 14:06) [1]я в хелп по TiniFile и по TRegIniFile заглянул, и нашел метод ReadSections
← →
lyberzon © (2007-09-03 14:33) [2]Да я тоже это читал, вот только у ComboBox-а нет св-ва Strings, а попытка создать переменную класса TStrings вызывает ошибку выхода за пределы памяти. Как быть?
← →
Denis_ © (2007-09-03 14:36) [3]ComboBox-а Items, вообще-то
← →
Reindeer Moss Eater © (2007-09-03 14:38) [4]property Items : TStrings
← →
Сергей М. © (2007-09-03 14:38) [5]
> у ComboBox-а нет св-ва Strings
Зато есть Items.
> попытка создать переменную класса TStrings вызывает ошибку
> выхода за пределы памяти
Ой не выдумывай)
Написав где-то MyVar: TStrings ты тем самым в ран-тайм создал ту самую переменную, и таких ошибок при этом никогда не возникнет.
← →
lyberzon © (2007-09-03 14:43) [6]т.е. так не работает:
procedure TWizardForm1.Button1Click(Sender: TObject);
var
Ini: TIniFile;
Sections: TStrings;
begin
Ini:=TIniFile.Create(ExtractFilePath(Application.ExeName)+"sample.ini");
Sections:=TStrings.Create;
Ini.ReadSections(Sections);
ComboBox1.Items.AddStrings(Sections);
Sections.Free;
Ini.Free;
end;
← →
Reindeer Moss Eater © (2007-09-03 14:44) [7]Ini.ReadSections(ComboBox1.Items);
← →
lyberzon © (2007-09-03 14:46) [8]Чего-то я зашпарился.. Спасибо всем!!!
← →
Сергей М. © (2007-09-03 15:01) [9]
> Sections:=TStrings.Create;
Это не создание переменной.
> var
> Sections: TStrings;
А вот это как раз оно самое.
Прочувствуй разницу).
← →
lyberzon © (2007-09-04 13:55) [10]Да, а тогда зачем ему метод Create?
← →
Сергей М. © (2007-09-04 14:04) [11]
> зачем ему метод Create?
Кому "ему" ?
Попробуй сам себе ответить на этот вопрос ...
← →
Jeer © (2007-09-04 14:16) [12]
> lyberzon © (04.09.07 13:55) [10]
> Да, а тогда зачем ему метод Create?
>
Для использования вне TIniFiles.
*.ReadSections по сути делает Assign.
В экземпляре TIniFiles существует fSections: TStringList.
Поэтому ReadSections инициализирует (создает) объявленную тобой объектную переменную Sections: TStrings и копирует данные из внутреннего списка fSections.
← →
MBo © (2007-09-04 14:27) [13]>lyberzon © (04.09.07 13:55) [10]
>Да, а тогда зачем ему метод Create?
Это тебе указали на неверную терминологию.
Конструктор Create создает экземпляр объекта, на который ссылается переменная.
← →
lyberzon © (2007-09-04 16:48) [14]Ну спасибо! Хоть просветили. Еще раз всех благодарю за помощь!
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.09.30;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.436 c