|
Вопрос # 6 109/ вопрос открыт / |
|
Доброго времени суток, уважаемые эксперты!
как вывести в отдельный поток функцию ?
у меня есть функция, которая очень часто вызывается по таймеру, и из-за этого при работе программы виснет интерфейс (тормозит прокрутка, кнопки работают с задержкой ...)
скажите как мне эё вывести в отдельный поток , но что-бы процедуры могля нормальны вызывать эту функцию ??
это функция подключения к WMI ...
Приложение: Переключить в обычный режим- function TForm1.GetPropertyEnumCollection(strQuery: String; ConnectFlag: Boolean): IEnumVariant;
- var
- Locator : SWbemLocator;
- PropObjectSet : SWbemObjectSet;
- begin
- Result := nil;
-
- try
- if ConnectFlag then
- begin
- Locator := CoSWbemLocator.Create;
- Service := Locator.ConnectServer(REMIP, '\root\cimv2',NAMEUSER,REMPAS,'','',0, nil);
- end;
-
- PropObjectSet := Service.ExecQuery(strQuery,
- 'WQL',
- wbemFlagReturnImmediately,
- nil);
-
-
- Result := PropObjectSet._NewEnum as IEnumVariant;
- except
- on ex: Exception do
- ShowMessage(ex.Message);
- end;
- end;
 |
Вопрос задал: darkziman (статус: Посетитель)
Вопрос отправлен: 2 мая 2012, 02:10
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 2; последнее сообщение — 3 мая 2012, 21:05; участников в обсуждении: 2.
|
min@y™ (статус: Доктор наук), 2 мая 2012, 08:12 [#1]:
Ну, дык, создай потомка от TThread, всунь свой код в его метод Execute и радуйся. Вот куча чтива по сабжу.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
bugmenot (статус: 3-ий класс), 3 мая 2012, 21:05 [#2]:
к WMI надо вообще однократно подключаться, оно же медленное!
виконання програми розпочинається з того самого мiсця, де призупинилося.
|
20 июня 2012, 10:11: Вопрос перемещён из тематического раздела Delphi » Взаимодействие с Windows в раздел Delphi » Прочее модератором Ерёмин А.А.
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|