Обсуждение программирования на Delphi в конференции ru.delphi
Re: 1000 pаз в секунду
From: "Alexander B. Bokovikov" <bokovikov [@] apress.ru>
On Wed, 13 Jul 2005 11:15:35 +0400, "Vladimir I. Yankovsky"
<Vladimir.I.Yankovsky [@] p25.f23.n451.z2.fidonet.org> wrote:
>Таймер Windows не был создан с целью получения сверхточного хронометра. :-(
А как же мультимедийный таймер (из MMSYSTEM)?
Александр Боковиков
E-mail: bokovikov(a)mail.ru (дом.) abokovikov(a)apress.ru (раб.)
www.apress.ru/pages/bokovikov/delphi
* Origin: Demos online service (2:5020/400)
запустить процесс из службы
Приветствую, Tolik!
Однажды, 12.07.05 20:42:58, Tolik писал к Andrew O Shadoura
по поводу "Re: запустить процесс из службы".
TT>>> Боремся с запуском пользователем чего не следует?
AO>> Видимо да.
TT> Дык-ть, оно тривиально решается штатными административными инструментами
TT> Windows
Как выяснилось, нет. Производится не "борьба с пользователем" ;) , а просто
контроль за серваком. Сервак на Вин2003срв, на нем подняты Terminal Services,
так вот, в локальном режиме или при запуске удаленным пользователем моего
"энумератора" он работает как надо. Если же запуск происходит из сервиса -
ничего не работает вообще. Подробности:
>=== Cut === запуск из сервиса
=== 7/12/2005 10:39:04 PM===
=== Window Station found: WinSta0 ===
=== Desktop found: WinSta0 ===
Enumerator
=== Desktop found: Service-0x0-3e7$ ===
Enumerator
=== Desktop found: Service-0x0-3e4$ ===
Enumerator
=== Desktop found: Service-0x0-3e5$ ===
Enumerator
=== Desktop found: SAWinSta ===
Enumerator
=== Desktop found: __X78B95_89_IW ===
Enumerator
=== Window Station found: Service-0x0-3e7$ ===
=== Desktop found: WinSta0 ===
Enumerator
=== Desktop found: Service-0x0-3e7$ ===
Enumerator
=== Desktop found: Service-0x0-3e4$ ===
Enumerator
=== Desktop found: Service-0x0-3e5$ ===
Enumerator
=== Desktop found: SAWinSta ===
Enumerator
=== Desktop found: __X78B95_89_IW ===
Enumerator
=== Window Station found: Service-0x0-3e4$ ===
=== Desktop found: WinSta0 ===
Enumerator
=== Desktop found: Service-0x0-3e7$ ===
Enumerator
=== Desktop found: Service-0x0-3e4$ ===
Enumerator
=== Desktop found: Service-0x0-3e5$ ===
Enumerator
=== Desktop found: SAWinSta ===
Enumerator
=== Desktop found: __X78B95_89_IW ===
Enumerator
=== Window Station found: Service-0x0-3e5$ ===
=== Desktop found: WinSta0 ===
Enumerator
=== Desktop found: Service-0x0-3e7$ ===
Enumerator
=== Desktop found: Service-0x0-3e4$ ===
Enumerator
=== Desktop found: Service-0x0-3e5$ ===
Enumerator
=== Desktop found: SAWinSta ===
Enumerator
=== Desktop found: __X78B95_89_IW ===
Enumerator
=== Window Station found: SAWinSta ===
=== Desktop found: WinSta0 ===
Enumerator
=== Desktop found: Service-0x0-3e7$ ===
Enumerator
=== Desktop found: Service-0x0-3e4$ ===
Enumerator
=== Desktop found: Service-0x0-3e5$ ===
Enumerator
=== Desktop found: SAWinSta ===
Enumerator
=== Desktop found: __X78B95_89_IW ===
Enumerator
=== Window Station found: __X78B95_89_IW ===
=== Desktop found: WinSta0 ===
Enumerator
=== Desktop found: Service-0x0-3e7$ ===
Enumerator
=== Desktop found: Service-0x0-3e4$ ===
Enumerator
=== Desktop found: Service-0x0-3e5$ ===
Enumerator
=== Desktop found: SAWinSta ===
Enumerator
=== Desktop found: __X78B95_89_IW ===
Enumerator
>=== Cut ===
>=== Cut === запуск из командной строки удаленным пользователем
=== 7/12/2005 10:39:50 PM===
=== Window Station found: WinSta0 ===
=== Desktop found: WinSta0 ===
Start Menu
SysFader
Enumerator
temp
Services
AXWIN Frame Window
Command Prompt
Connections Tray
Power Meter
MS_WebcheckMonitor
JavaUpdate SysTray Icon
CtxRdpCtlsTitle
CtxRdpShellWindow
RDPClip - Receive Thread
RDPClip - Clip Thread
Program Manager
=== 7/12/2005 10:40:34 PM===
=== Window Station found: WinSta0 ===
=== Desktop found: WinSta0 ===
Enumerator
=== Desktop found: Service-0x0-3e7$ ===
Enumerator
=== Desktop found: Service-0x0-3e4$ ===
Enumerator
=== Desktop found: Service-0x0-3e5$ ===
Enumerator
=== Desktop found: SAWinSta ===
Enumerator
=== Desktop found: __X78B95_89_IW ===
Enumerator
=== Window Station found: Service-0x0-3e7$ ===
=== Desktop found: WinSta0 ===
Enumerator
=== Desktop found: Service-0x0-3e7$ ===
Enumerator
=== Desktop found: Service-0x0-3e4$ ===
Enumerator
=== Desktop found: Service-0x0-3e5$ ===
Enumerator
=== Desktop found: SAWinSta ===
Enumerator
=== Desktop found: __X78B95_89_IW ===
Enumerator
=== Window Station found: Service-0x0-3e4$ ===
=== Desktop found: WinSta0 ===
Enumerator
=== Desktop found: Service-0x0-3e7$ ===
Enumerator
=== Desktop found: Service-0x0-3e4$ ===
Enumerator
=== Desktop found: Service-0x0-3e5$ ===
Enumerator
=== Desktop found: SAWinSta ===
Enumerator
=== Desktop found: __X78B95_89_IW ===
Enumerator
=== Window Station found: Service-0x0-3e5$ ===
=== Desktop found: WinSta0 ===
Enumerator
=== Desktop found: Service-0x0-3e7$ ===
Enumerator
=== Desktop found: Service-0x0-3e4$ ===
Enumerator
=== Desktop found: Service-0x0-3e5$ ===
Enumerator
=== Desktop found: SAWinSta ===
Enumerator
=== Desktop found: __X78B95_89_IW ===
Enumerator
=== Window Station found: SAWinSta ===
=== Desktop found: WinSta0 ===
Enumerator
=== Desktop found: Service-0x0-3e7$ ===
Enumerator
=== Desktop found: Service-0x0-3e4$ ===
Enumerator
=== Desktop found: Service-0x0-3e5$ ===
Enumerator
=== Desktop found: SAWinSta ===
Enumerator
=== Desktop found: __X78B95_89_IW ===
Enumerator
=== Window Station found: __X78B95_89_IW ===
=== Desktop found: WinSta0 ===
Enumerator
=== Desktop found: Service-0x0-3e7$ ===
Enumerator
=== Desktop found: Service-0x0-3e4$ ===
Enumerator
=== Desktop found: Service-0x0-3e5$ ===
Enumerator
=== Desktop found: SAWinSta ===
Enumerator
=== Desktop found: __X78B95_89_IW ===
Enumerator
>=== Cut ===
-- С уважением, Andrew O. Shadoura
AKAs: 2:450/143.25, 2:450/202.25
* Origin: Errare humanum est (2:450/143.25)
1000 pаз в секунду
From: "Anatoly Podgoretsky" <anatoly [@] podgoretsky.com>
Hello, Alexander B. Bokovikov!
You wrote to Vladimir I. Yankovsky on Wed, 13 Jul 2005 13:13:51 +0000 (UTC):
??>> Таймер Windows не был создан с целью получения сверхточного хронометра.
??>> :-(
ABB> А как же мультимедийный таймер (из MMSYSTEM)?
Да кривая эта статья, возможно просто очень старая из времен Win16
--
С уважением,
Анатолий Подгорецкий
* Origin: Demos online service (2:5020/400)
Отладка
From: "Anatoly Podgoretsky" <anatoly [@] podgoretsky.com>
Hello, Alexey Cherepanov!
You wrote to Slava Antonov on Wed, 13 Jul 2005 09:47:42 +0000 (UTC):
??>>>> Ваш же пример некорректен, т.к. глобальные
??>>>> переменные всегда инициализированы.
??>>> Да? И позвольте узнать, кто же их инициализирует?
SA>> Компилятор.
AC> Оо,я отстал от жизни, пример привести можешь?
Очень отстал, а религия не позволяет взглянуть в сопроводительную документацию, для этого достаточно нажать F1. Стоит ли утруждать этим конференцию?
If you don't explicitly initialize a global variable, the compiler initializes it to 0.
--
С уважением,
Анатолий Подгорецкий
* Origin: Demos online service (2:5020/400)
Re: 1000 pаз в секyндy
Пpивет, Andrey!
12 Июл 2005 23:27, Andrey Ryazanov писал Vladimir Zaikin.
>> А Timer yже не подходит?.
AR> Сам то пpобовал? Он yже на 10 pазах в секyндy начинает сбиваться....
Таймеp окpyгляет свой пеpиод до кpатного 55 мс.
WBR, Alexei Ignatov.
* Origin: Hе плюй в колодец - вылетит не поймаешь! (2:5034/13.30)
Re: Как отловить начало pаботы с yдалённым подключением?
Пpивет, Andrey!
12 Июл 2005 23:34, Andrey Ryazanov писал Oleg Lazukin.
>> И я подyмал - вот было бы здоpово, если пpи начале дозвона она сома
>> как-нибyдь запyскалась :-) Видимо, невозможно в пpинципе.
AR> Кyльная пpогpамма видимо. Hоpмально написанная пpога с единственной
AR> целью -
AR> ожидание RAS подключения должна занимать менее мегабайта и 0% CPU.
Чем не катит банальный ICQ NetDetect? Или нyжно ждать именно RAS
подключение и забивать на все остальное?
WBR, Alexei Ignatov.
* Origin: Hе плюй в колодец - вылетит не поймаешь! (2:5034/13.30)
Re: Глобальные переменные (was: Отладка)
From: "Slava Antonov" <deadbeef [@] so.yandex.ru>
Hello Alexey Cherepanov, you wrote:
>> Компилятор.
> Оо,я отстал от жизни, пример привести можешь?
var
V: array[0..5] of Char = ('0', '1', '0', '2', '0', '3');
Данный массив будет в самом EXE, а при загрузке программы он просто спроецируется в память.
var
I: Integer;
В экзешнике соотвествующее место будет забито нулями.
Однако мне вот что интересно. Если объявить массив на миллион элементов. То в экзешнике он не хранится. Hо при загрузке все равно будет забит нулями.
--
Всего хорошего, Слава.
slava.fateback.com
* Origin: (http://news.cca.usart.ru/) USURT's FidoNET<-> (2:5080/1003 [@] fidonet)
Re: Отладка
From: "Slava Antonov" <deadbeef [@] so.yandex.ru>
Hello Anatoly Podgoretsky, you wrote:
> If you don't explicitly initialize a global variable, the compiler initializes
> it to 0.
Анатолий, а как дело обстоит с массивами? Как я понял место под них в экзешнике не резервируется.
--
Всего хорошего, Слава.
slava.fateback.com
* Origin: (http://news.cca.usart.ru/) USURT's FidoNET<-> (2:5080/1003 [@] fidonet)
Re: Как отловить начало работы с удалённым подключением?
From: Oleg Lazukin <oleg.lazukin [@] laposte.net>
Ответ на письмо от Andrey Ryazanov с темой "Re: Как отловить начало
работы с удалённым подключением?":
>Кульная программа видимо. Hормально написанная прога с единственной целью - ожидание RAS подключения должна занимать менее мегабайта и 0% CPU.
Я не говорил, что она делает только это. Это гибрид Net.Medic,
дозвонщика и учетчика времени в сети. Сейчас глянул - уже 8МБ| !
Bye ...
Oleg Lazukin.
oleglazukin(anti-spam)mail.ru
* Origin: JSC Rostovtelecom (2:5020/400)
Re: Как отловить начало работы с удалённым подключением?
From: Oleg Lazukin <oleg.lazukin [@] laposte.net>
Ответ на письмо от Slava Antonov с темой "Re:Как отловить начало
работы с удалённым подключением?":
>Это проблема вашей реализации. Потому что когда приложение (точнее, поток)
>вызывает одну из функций ожидания, оно/он засыпает и никакого процесорного
>времени не забирает. Это раз.
Если под словом "засыпает" подразумевается не реагирование на действия
пользователя - то это ему делать точно нельзя.
>Кроме того, вы можете создать минипрограммку, единственной целью которой будет
>- мониторинг соединений и запуск других программ.
Конечно думал об этом| Hо пока ничего конкретного не решил.
Может лучше всё оставить как есть и бороться со склерозом (т.е.
запускать нужную программу самому|)
Bye ...
Oleg Lazukin.
oleglazukin(anti-spam)mail.ru
* Origin: JSC Rostovtelecom (2:5020/400)