Форум: "Основная";
Текущий архив: 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.04 c