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

Вниз

Screen.Cursor не меняет вид курсора   Найти похожие ветки 

 
DelphiLexx ©   (2007-05-22 14:11) [0]

Ситуация такая. Есть Main форма с DBGridEh"ом в которую из ББ загружен список данный, при двойном клике по записи открывается диалоговая форма в которую тоже загружаются очень много данных из БД. При закрытии этой формы у пользователя спрашивается хочет ли он сохранить эти данные, в связи с этим вызывается или Rollback или Commit, которые могут выполняться очень долго. Получается то, что диалоговая форма закрывается, а RollBack или Commit все еще выполняется, пользователь думает что все OK"ей нажимает новое действие на Main форме и здесь выскакивает ошибка, поэтому я решил сделать так: в OnDestroy диалоговой формы я пишу:

 oldc := Application.MainForm.Cursor;
 Screen.Cursor := crHourGlass;
 Application.MainForm.Enabled := False;
 try
   {здесь выполняются долгие действия в том числе или
     RollBack или Commit}
 finally
   Application.MainForm.Enabled := True;
     Application.MainForm.Cursor := oldc;
 end;

Прикол в том, что курсор не меняется как с этим быть.


 
Johnmen ©   (2007-05-22 14:14) [1]


>  Получается то, что диалоговая форма закрывается, а RollBack
> или Commit все еще выполняется,

1. Надо сначала RollBack или Commit, а потом диалоговая форма закрывается.
2. После Screen.Cursor := crHourGlass; надо Application.ProcessMessages.


 
DelphiLexx ©   (2007-05-22 14:23) [2]


> надо Application.ProcessMessages

Application.ProcessMessages ставил не помагает.
> Надо сначала RollBack или Commit, а потом диалоговая форма
> закрывается.

Я не могу поменять т.к. исходник не мой я только наследуюсь от абстрактной формы, в которой RollBack и Commit находятся в OnDestroy


 
Johnmen ©   (2007-05-22 14:32) [3]


> в OnDestroy диалоговой формы я пишу: ...


> Я не могу поменять т.к. исходник ...

Как тебя понимать, Саид? (с)
:)


 
Anatoly Podgoretsky ©   (2007-05-22 14:46) [4]

Дурят голову нашему брату и притом многократно.


 
DelphiLexx ©   (2007-05-22 14:55) [5]


> Дурят голову нашему брату и притом многократно.

Изначально проект над котором я сейчас работаю, создавался не мной. В этом проекте есть несколько абстрактных форм, от которых происходит наследование в случае, например, создания нового справочника. Commit и Rollback заложены в абстрактной форме и что-либо в ней не разрешит мой начальник - разработчик данного проекта.


 
KSergey ©   (2007-05-23 14:21) [6]

> DelphiLexx ©   (22.05.07 14:55) [5]
> и что-либо в ней не разрешит мой начальник
> - разработчик данного проекта.

Тогда варианта два:
1) Найти в исходниках базовых форм ошибку и указать на нее, мотивируя этим необходимость изменения
2) Найти ошибку у себя, возможно - в неверном использовании базовых форм.



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

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

Наверх




Память: 0.48 MB
Время: 0.016 c
11-1166279345
NeeDiGeo
2006-12-16 17:29
2007.07.29
Добавление формы в уже существующий проект KOL_MCK


2-1183092871
Novice
2007-06-29 08:54
2007.07.29
программа для работы с базой IB в длинной сети


3-1177075901
Krants
2007-04-20 17:31
2007.07.29
ошибка при записи, ADO


15-1183525244
Kerk
2007-07-04 09:00
2007.07.29
Никому нельзя верить?


8-1161842358
delphim
2006-10-26 09:59
2007.07.29
доступ нескольких пользователей с данным