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

Вниз

Модальные окна   Найти похожие ветки 

 
Nastya   (2008-11-21 01:10) [0]

Помогите плз, не знаю как быть

---------------------------------


if (MyDialogForm.ShowModal = mrOk) then
 begin
   DModule.IBQuery.Close;
     DModule.IBQuery.SQL.Text := "delete from orders where id = "+ IntToStr (OrderBoard[TSpeedButton(Sender).Tag].ord_id);
   DModule.IBQuery.ExecSQL;

    DModule.IBTransaction.CommitRetaining;
    DModule.IBTransaction.Active:=True;
    MainF.OpenData;

    DelControls;
    FormOrders;
    //FormShow(ShowAbonOrdersF);
 end;

---------------------------------------

в этом кусочке кода вызывается модальное окно с кнопкой у которой
modalResult = mrOk и по нажатию на которой вылетает исключение AccessViolation, а сам код в условии работает нормально если не пользовать модальное окно, а просто делать эту форму MyDialogForm.Visible: = true,
помогите плз, что-то тут неладное с этими модальными формами и модал-резултами!


 
KilkennyCat ©   (2008-11-21 01:26) [1]


> DModule

принадлежит MyDialogForm?


 
Nastya   (2008-11-21 01:36) [2]

DModule - это отдельная форма:TDataModule


 
KilkennyCat ©   (2008-11-21 01:39) [3]

тогда может имеет смысл вызывать MyDialogForm из нее?


 
Nastya   (2008-11-21 01:44) [4]


> тогда может имеет смысл вызывать MyDialogForm из нее?

попробую, правда вот еще что: MyDialogForm вызывается тоже из модальной формы(showModal)


 
Nastya   (2008-11-21 01:46) [5]


> принадлежит MyDialogForm?


> тогда может имеет смысл вызывать MyDialogForm из нее?

Чего это вы начали вопросы задавать?!! Отвечайте!:))))


 
KilkennyCat ©   (2008-11-21 01:48) [6]

Это наводящие вопросы. Мало информации, по крайней мере, для меня. Но предполагаю, что идет путаница, и какой-то поток прекращает свое существование не совсем когда надо...


 
Nastya   (2008-11-21 01:50) [7]

Да то работало "пол дня" номально, потом опять глючить начало, хотя в коде ничего не меняла


 
Nastya   (2008-11-21 01:56) [8]

вот эти две процедуры не хотят работь, из за них вылетает ошибка

они описаны в вызывающем модуле
DelControls; FormOrders;

работеют нормально сами по себе:))

к примеру
procedure TShowAbonOrdersF.DelControls;
var
 i: Integer;
begin

if(ScrollBox1.ControlCount > 0) then
begin
 SetLength(OrderBoard, 0);
 for i:= 0 to ScrollBox1.ControlCount - 1  do
   ScrollBox1.Controls[0].Free;
end;

end;


 
Сергей М. ©   (2008-11-21 08:40) [9]


> эти две процедуры не хотят работь


А где код FormOrders ?


> из за них вылетает ошибка


Что, вот прямо так и говорит "я, ошибка, вылетаю таким-то авиарейсом" ?)


 
Nastya   (2008-11-21 18:58) [10]


> А где код FormOrders ?

Не важно не работает и без него,
можно конечно, как исчезло модальное окно сделать кнопку на вызывающей форме для обновления таблички заказов

begin
  DelControls; //чистит конкролы
   FormOrders;//а эта создает

end;

Этот вариант работает безотказно, но не устраевает, что-то тут с модал-резултами!


 
Сергей М. ©   (2008-11-21 19:32) [11]


> Не важно


Ну раз не важно, то тряси бубен.


 
Leonid Troyanovsky ©   (2008-11-21 23:45) [12]


> Nastya   (21.11.08 01:56) [8]

> к примеру
> procedure TShowAbonOrdersF.DelControls;

А зачем на такая процедура?
Парент и так уничтожит собс-ные контролы при своей кончине.
Последующий FormOrders;//а эта создает - жизнь после смерти.

Да, и, во-ще, для пользования модальных форм есть ж/б шаблон:

with TMyModalForm.Create(nil) do
 try
    ..
    ShowModal;
    ..
 finally
   Free;
 end;

Ну, и ясное дело, что надо удалить оные формы из auto-created.
--
Regards, LVT.


 
Anatoly Podgoretsky ©   (2008-11-22 00:01) [13]

> Leonid Troyanovsky  (21.11.2008 23:45:12)  [12]

И глобальную переменную, при том сразу же.


 
Германн ©   (2008-11-22 02:24) [14]


> для пользования модальных форм есть ж/б шаблон:

Железобетонный?
:)



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

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

Наверх




Память: 0.49 MB
Время: 0.008 c
15-1225769152
O.O
2008-11-04 06:25
2009.01.04
turbo delphi и ibx


15-1225510312
Slider007
2008-11-01 06:31
2009.01.04
С днем рождения ! 1 ноября 2008 суббота


8-1188773848
Dr. Andrew
2007-09-03 02:57
2009.01.04
Как нарисовать спираль Галилея и Poinsot?


15-1225721676
kazar
2008-11-03 17:14
2009.01.04
вопросы по Halcyon


15-1221220682
pavel_guzhanov
2008-09-12 15:58
2009.01.04
Пришло приглашение на семинар