Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2007.07.29;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.045 c
15-1183108690
Volcanic
2007-06-29 13:18
2007.07.29
Как объединить TreeView и ListView??


2-1183451541
barakuda
2007-07-03 12:32
2007.07.29
такого небывает


15-1183321948
KilkennyCat
2007-07-02 00:32
2007.07.29
Смешное из форумов.


2-1183529439
_Asph
2007-07-04 10:10
2007.07.29
Обновление данных в таблице


4-1171695722
VitAngel
2007-02-17 10:02
2007.07.29
ShellExecute





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский