Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.09.30;
Скачать: CL | DM;

Вниз

Как загрузить из 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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.022 c
4-1175317863
igornov
2007-03-31 09:11
2007.09.30
Как получить список запущенных приложений из службы?


1-1184946791
SpellCaster
2007-07-20 19:53
2007.09.30
Указатели на функции и DLL


6-1161760446
petun
2006-10-25 11:14
2007.09.30
для пользователей TIcqClient


10-1136705235
Алексей Петухов
2006-01-08 10:27
2007.09.30
Свой OLE-automiation


15-1188575240
lookin
2007-08-31 19:47
2007.09.30
Юзабилити или что-то в этом духе...