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

Вниз

Как программно создать и удалить combobox   Найти похожие ветки 

 
IronWit ©   (2003-07-21 17:31) [0]

привязанный к listview строго определенному.

Почему то когда я это делаю ручками, то после 2-3 трех созданий\удалений программа падает с ошибками 204 или 216. Что бы это значило?

Заранее спасибо.


 
SPeller ©   (2003-07-22 03:51) [1]

Ошибка в 17-й строке.


 
IronWit ©   (2003-07-22 09:22) [2]

2SPeller.  :)

создание
if combobox<>nil then
begin
   combobox:=NewComboBox( listview3, [] );
   combobox.OnLeave:=ComboBox1Leave;
   combobox.Width:=listview3.LVColWidth[0];
   combobox.DeleteLines(0,combobox.count);
   combobox.Add("");
   combobox.Add("Rip");
   for i:=0 to listview1.lvcount-1 do
     begin
       if length(listview1.LVItems[i,0])>0 then combobox.Add(listview1.LVItems[i,0]);
     end;
   if length(listview3.LVItems[listview3.curindex,0])>0 then combobox.Text:=listview3.LVItems[listview3.curindex,0];
   combobox.show;
end;

Удаление

в процедурке

procedure TForm1.ComboBox1Leave(Sender: PObj);
begin
 listview3.lvItems[cur,0]:=combobox.Text;
 combobox.Destroy;
 combobox:=nil;
end;


 
savva ©   (2003-07-22 09:50) [3]

я бы сделал
combobox.Free;
вместо
combobox.Destroy;

но это еще надо проверить:)


 
ironwit ©   (2003-07-22 10:29) [4]

работает :)


 
SPeller ©   (2003-07-22 10:36) [5]

А ещё у меня вызывает сомнение вот это кусок:

> if combobox<>nil then
> begin
>    combobox:=NewComboBox( listview3, [] );

Может, всё-таки, в условии надо combobox = nil ? А то получается, что если комбобокс создан (не равен nil), то ты его создаёшь по-новой.


 
Плохиш   (2003-07-22 10:38) [6]

А слабо посмотреть в справке, что Borland про Destroy пишет?


 
savva ©   (2003-07-22 10:57) [7]

> Плохиш   (22.07.03 10:38)
> А слабо посмотреть в справке, что Borland про Destroy пишет?
Забудь про справку от Borland - это теперь не самое главное, так как там все про классы


 
IronWit ©   (2003-07-23 08:56) [8]

2SPeller

я вообще ту строку убрал. Так как у меня при выходе из combobox снала отрабатывает процедурка onleave - которая 100% убивает его.



 
Dimaxx ©   (2003-07-25 23:57) [9]

А зачем каждый раз создавать/удалять? Надо просто создать его один раз при создании формы, сделать невидимым, заполнить данными, установить на нужное место и отобразить. После выбора данных скрыть. Удалить при закрытии формы. Вот и все.


 
IronWit ©   (2003-07-26 09:26) [10]

Хотелось разобраться... :)



Страницы: 1 вся ветка

Текущий архив: 2004.04.04;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.027 c
8-1070019462
Алексей Стадник
2003-11-28 14:37
2004.04.04
содержимое дискеты к книге


1-1079177704
Vilux
2004-03-13 14:35
2004.04.04
Динамическое создание компонента


14-1078642741
Макын
2004-03-07 09:59
2004.04.04
Компоненты


1-1079385275
Маришка
2004-03-16 00:14
2004.04.04
IE Toolbar


1-1079091121
alless
2004-03-12 14:32
2004.04.04
Свойство Text.