Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Получение адреса элемента..

299
12 июля 2005 года
3D Bob
885 / / 18.04.2005
Вот код

EditList = new TList();
Edit1->Text = "текст текст текс текс";

EditList->Add((void * )&(Edit1->Text));

ShowMessage(*(AnsiString * )(EditList->Items[0]));

Таблица появялется а текст не отображается:(((
246
12 июля 2005 года
GIZMO
1.8K / / 30.07.2004
Цитата:
Originally posted by 3D Bob
Вот код

EditList = new TList();
Edit1->Text = "текст текст текс текс";

EditList->Add((void * )&(Edit1->Text));

ShowMessage(*(AnsiString * )(EditList->Items[0]));

Таблица появялется а текст не отображается:(((


Может для начала заменить TList на TStringList, а маленько через жопу получается?

299
12 июля 2005 года
3D Bob
885 / / 18.04.2005
Цитата:
Originally posted by GIZMO
Может для начала заменить TList на TStringList, а маленько через жопу получается?


Мне нужен массив указателей Тектовых полей Каждого Еэдита, чтобы потом можно было циклом поместить их все в базу данных.

585
12 июля 2005 года
honeybeer
297 / / 06.09.2004
Цитата:
Originally posted by 3D Bob
Вот код

EditList = new TList();
Edit1->Text = "текст текст текс текс";

EditList->Add((void * )&(Edit1->Text));

ShowMessage(*(AnsiString * )(EditList->Items[0]));

Таблица появялется а текст не отображается:(((



Значицца так, добавлять:

 
Код:
String *str = new String(Edit1->Text);
ptrToStr->Add(str);

при удалении List'а делать:
 
Код:
int Count = ptrToStr->Count;
while(Count--)delete ptrToStr->Items[Count];
delete ptrToStr;

с тебя пиво
299
12 июля 2005 года
3D Bob
885 / / 18.04.2005
Цитата:
Originally posted by honeybeer
Значицца так, добавлять:
 
Код:
String *str = new String(Edit1->Text);
ptrToStr->Add(str);

при удалении List'а делать:
 
Код:
int Count = ptrToStr->Count;
while(Count--)delete ptrToStr->Items[Count];
delete ptrToStr;

с тебя пиво



Нету с меня пиво, в твоем примере создается копия строки, мне не нужен адрес копии строки, я мог с таким же успехом сделать так...

AnsiString text = Edit1->Text;

List->Add(&text);

Но ведь в Эдите данные могут меняться.... Мне нужно просто знать адрес по которому эти данные написаны...

4.2K
13 июля 2005 года
Крыс
98 / / 06.05.2005
Цитата:
Originally posted by 3D Bob
Вот код

EditList->Add((void * )&(Edit1->Text));


меня здесь смущает void

585
13 июля 2005 года
honeybeer
297 / / 06.09.2004
Насколько я понял, у тебя каждому Edit'у соответствует узел TList->Items, т.е. количество Edit'ов = TList->Count. Если это так, то какой смысл хранить указатели в списке, в то же время имея возможность получить адрес непосредственно.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог