Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 6 109

Раздел: Delphi » Прочее
/ вопрос открыт /

Доброго времени суток, уважаемые эксперты!
как вывести в отдельный поток функцию ?

у меня есть функция, которая очень часто вызывается по таймеру, и из-за этого при работе программы виснет интерфейс (тормозит прокрутка, кнопки работают с задержкой ...)

скажите как мне эё вывести в отдельный поток , но что-бы процедуры могля нормальны вызывать эту функцию ??
это функция подключения к WMI ...

Приложение:
  1. function TForm1.GetPropertyEnumCollection(strQuery: String; ConnectFlag: Boolean): IEnumVariant;
  2. var
  3. Locator : SWbemLocator;
  4. PropObjectSet : SWbemObjectSet;
  5. begin
  6. Result := nil;
  7.  
  8. try
  9. if ConnectFlag then
  10. begin
  11. Locator := CoSWbemLocator.Create;
  12. Service := Locator.ConnectServer(REMIP, '\root\cimv2',NAMEUSER,REMPAS,'','',0, nil);
  13. end;
  14.  
  15. PropObjectSet := Service.ExecQuery(strQuery,
  16. 'WQL',
  17. wbemFlagReturnImmediately,
  18. nil);
  19.  
  20.  
  21. Result := PropObjectSet._NewEnum as IEnumVariant;
  22. except
  23. on ex: Exception do
  24. ShowMessage(ex.Message);
  25. end;
  26. end;


darkziman Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: darkziman (статус: Посетитель)
Вопрос отправлен: 2 мая 2012, 02:10
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 2; последнее сообщение — 3 мая 2012, 21:05; участников в обсуждении: 2.
min@y™

min@y™ (статус: Доктор наук), 2 мая 2012, 08:12 [#1]:

Ну, дык, создай потомка от TThread, всунь свой код в его метод Execute и радуйся. Вот куча чтива по сабжу.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
bugmenot

bugmenot (статус: 3-ий класс), 3 мая 2012, 21:05 [#2]:

к WMI надо вообще однократно подключаться, оно же медленное!
виконання програми розпочинається з того самого мiсця, де призупинилося.

20 июня 2012, 10:11: Вопрос перемещён из тематического раздела Delphi » Взаимодействие с Windows в раздел Delphi » Прочее модератором Ерёмин А.А.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 3 июня 2023, 18:16
Выполнено за 0.02 сек.
Рейтинг@Mail.ru