Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Cannot focus a disabled or invisible window [D6, dBase, FoxPro]


term1t ©   (2006-07-31 13:28:00) 

Добрый день, местера ;) !
Возникла такая проблема: есть определенная база с заявлениями о товаре, нужно сделать чтобы при выборе определенного заказа можно было добавить товары из другого существующего заказа. сделал. но возникает ошибка "Cannot focus a disabled or invisible window". Причем когда запускаю сам ехе-шник данные вставляются в грид, но не фиксятся и выскакивает все та же ошибка.

{здесь я выбираю номер заказа, с которого нужно копировать}
procedure TFormVvNZayav.SpeedButton1Click(Sender: TObject);
begin
pNomer:=DBEdit1.Text;
self.Close;
FormVibTovar.ShowModal;{ошибка, почему-то выскакивает именно здесь...}
end;
{вот сама процедура "перетягивания" заказов}
procedure TFormVibTovar.ButDodClick(Sender: TObject);
var
 i:integer;
begin
dm1.TTovar.Filtered:=true;

dm1.TTovar.First;
dm1.findZayavQuery.First;

 while not DM1.findZayavQuery.Eof do
  begin
     dm1.TTovar.First;
 while not DM1.TTovar.Eof do begin
   if DM1.TTovar.FieldByName('rec_pril').AsInteger=DM1.findZayavQuery.FieldByName('rec _pril').AsInteger
     then begin
       showMessage('Такой товар уже есть в списке!');
       Exit;
     end;
   DM1.TTovar.Next;
 end;
 i:=0;
 i:=i+1;
 dm1.TTovar.Append;
 DM1.TTovar.FieldByName('n_p').AsInteger:=DM1.findZayavQuery.FieldByName('n_p').A sInteger;
 DM1.TTovar.FieldByName('tnzed').AsString:=DM1.findZayavQuery.FieldByName('tnzed' ).AsString;
 DM1.TTovar.FieldByName('name').AsString:=DM1.findZayavQuery.FieldByName('name'). AsString;
 dm1.TTovar.FieldByName('rec_pril').AsInteger:=inRec_pril+i;
 dm1.TTovar.Post;
 dm1.findZayavQuery.Next; {при отладке ошибка возникает здесь, но если запустить, то указывает именно в то место, где я вызываю ShowModal}
 DM1.TTovar.ApplyUpdates;
end;
end;

вот такая вот ппетруха.
P.S. опыт в программировании мал


mr.il   (2006-07-31 18:43:00) [1]

На OnActivate, FormVibTovar, у тебя ничего не повешано. Типа SetFocus объекта другова окна.


term1t   (2006-07-31 18:42:00) [2]

Все, всем спасибо, проблема на самом деле была в базе.


term1t   (2006-07-31 14:49:00) [3]

нет, форма впервые вызывается в этом месте. Она нормально отображается, но припопытке сделать Post для таблицы возникает эта ошибка...
Я вот думаю, а может это как то связано с тем что я одновременно обращаюсь к 1 и той же таблице 2-мя компонентами (Query и Table)?


Max Zyuzin   (2006-07-31 14:01:00) [4]

Судя по всему на момент FormVibTovar.ShowModal
Форма уже видима...


term1t   (2006-07-31 13:41:00) [5]

это окно созается при выборе пункта главного меню "добавить из".
оно представляет собой 2 кнопки (далее и выход) и 1 ДБЭдит. Visible и Enabled  у него изначально стоят  true.


Max Zyuzin   (2006-07-31 13:32:00) [6]

>term1t ©   (31.07.06 13:28)  
Вообще то тебе не в эту эху... но..

Какие значения стоят у формы FormVibTovar
Visible
Enabled
Где вообще это окно создается?


Наверх

Титульная страница Поиск, карта сайта Написать письмо