Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

При вызове sp часики убрать [D2005]


laby ©   (2011-03-10 12:19:00) 

Здравствуйте. При вызове метода TMSStoredProc.ExecProc на момент выполнения курсор принимает форму часиков. Метод вызывается периодически и часики раздражают. Подскажите, как сделать чтобы курсор не менял свое состояние при вызове данного метода. Спасибо.


laby   (2011-03-11 14:28:00) [1]

Спасибо Какаду!


Какаду   (2011-03-10 18:20:00) [2]

var
 ExProc: procedure;
begin
 ExProc := StartWaitProc;
 try
   StartWaitProc := nil;
   // Тут тот самый вызов TMSStoredProc.ExecProc
 finally
   StartWaitProc := ExProc;
 end;
end;


laby   (2011-03-10 17:12:00) [3]

TCustomDADataSet.FNonBlocking не устанавливается. Можно установить TCustomDADataSet.Options.NonBlocking но от этого TCustomDADataSet.FNonBlocking не устанавливается


laby   (2011-03-10 16:48:00) [4]

Еще FNonBlocking можно установить


laby   (2011-03-10 16:37:00) [5]

закомментил в memdata тело StartWait

// if Assigned(StartWaitProc) then
  // StartWaitProc;

часики пропали, но это наверное неправильное решение потому как теперь часиков воабпштщче не будет.


laby   (2011-03-10 16:32:00) [6]

procedure TCustomDADataSet.Execute;
...
     if not FNonBlocking then
       StartWait;
...
end;

procedure StartWait;
begin
 if Assigned(StartWaitProc) then
   StartWaitProc;
end;

var
 StartWaitProc: procedure;

procedure StartWait;

initialization
 StartWaitProc := nil;

Вызывается из файла dacgui.inc функция

procedure StartWait;
begin
 SetCursor(crSQLWait);
end;

Походу зло исходит от Assigned(StartWaitProc)

Где оно ассигнется и как его разассигнуть?


Cobalt   (2011-03-10 15:53:00) [7]

А еще можно посмотреть доступные свойства компонента, вдруг там есть какое-нибудь свойство типа Cursor или как-то похоже называется.


Cobalt   (2011-03-10 15:52:00) [8]

Попробуй включить в свойствах проекта , там где Compiler, включить опцию Use debug DCU's, и пройти по внутренностям TMSStoredProc.ExecProc (это кнопочка F7 (Trace Into)), найдя место, где изменяется курсор.

Вдруг там есть какая-то опция, которая позволяет не изменять курсор?


laby   (2011-03-10 14:52:00) [9]

Ну а с часиками то подмогните, воапшчще не знаю где копать


Наверх

Титульная страница Поиск, карта сайта Написать письмо