Главная страница
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.021 c
15-1183153749
Riply
2007-06-30 01:49
2007.07.29
Что-то пустынно стало на форуме


15-1182701335
koha
2007-06-24 20:08
2007.07.29
Ищу хорошую инфу по компоненту TChart


15-1182880955
TSuperPanel
2007-06-26 22:02
2007.07.29
SizeOf


15-1183121929
IMHO
2007-06-29 16:58
2007.07.29
Почему на постсоветском пространстве...


2-1183488789
Strate
2007-07-03 22:53
2007.07.29
Получение размера файла по его хэндлу