Главная страница
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.056 c
8-1069780816
Messir
2003-11-25 20:20
2004.04.04
Как засунуть в опр. Grid картинку и надпись поверх неё текст


3-1078210812
aga123
2004-03-02 10:00
2004.04.04
GUID в поле таблицы DBF


3-1078208297
sohat
2004-03-02 09:18
2004.04.04
Знатокам EhLib, Раскрывающийся список в Гриде без lookup поля.


1-1079283255
Andy BitOff
2004-03-14 19:54
2004.04.04
Коммандная строка и/или не запуск второй копии.


14-1079075366
Ega23
2004-03-12 10:09
2004.04.04
Зимбабве поймало 64 американских шпиона