Современные решения

для защиты Windows приложений

и восстановления исходного кода

Обсуждение программирования на Delphi в конференции ru.delphi


Re: Hормальный компонент меню в стиле XP

From: Alexey Simachov <alexeysim [@] traffic.net.ua>


Здравствуйте Igor,

Saturday, July 9, 2005, 11:31:55 PM, you wrote:

ID> Пpивет, Alexey!


ID> Пят Июл 08 2005 15:03, Alexey Simachov отписал к Igor Dolgov следyющее:


AS>> нет ли ссылочки? Гуглить - не помогает :-(((

ID> А это не оно?

ID> www.ptt.yu/korisnici/p/e/pericdnn/

HTTP Error 404 - File or directory not found.


С уважением,
Алексей alexeysim<at>traffic.net.ua




--
Отправлено через сервер Форумы [@] mail.ru - talk.mail.ru
* Origin: Talk.Mail.Ru (2:5020/400)

Re: Отладка

From: "Slava Antonov" <deadbeef [@] so.yandex.ru>


Hello Alexey Cherepanov, you wrote:

> По преведенному куску кода судить о области видимости переменной нельзя.


Указатель оказался равным nil. Очень вероятно, что вы объявили его глобальной переменной.

>> Речь ведь не об этом. Вы утверждали, что неициализированные переменные

>> имеют определенные значения (0..65535).

> Разве?

> А по-моему в моем постинге шла речь об

> "Hеинициализированном обьекте (=nil=0)".


Зничит мы говорили, каждый о своем.

>> Ваш же пример некорректен, т.к. глобальные

>> переменные всегда инициализированы.

> Да? И позвольте узнать, кто же их инициализирует?


Компилятор.

--
Всего хорошего, Слава.
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 Oleg Lazukin, you wrote:

>> Чем это вас не устраивает?

> Тем, что подобная программа уже мною написана.

> Hо занимает она в памяти около 7-8МБ. И еще по 2-5% каждую секунду

> процессорного времени.


Это проблема вашей реализации. Потому что когда приложение (точнее, поток) вызывает одну из функций ожидания, оно/он засыпает и никакого процесорного времени не забирает. Это раз.
Кроме того, вы можете создать минипрограммку, единственной целью которой будет - мониторинг соединений и запуск других программ.

--
Всего хорошего, Слава.
slava.fateback.com
* Origin: (http://news.cca.usart.ru/) USURT's FidoNET<-> (2:5080/1003 [@] fidonet)






Hет звука, а должен быть.

From: "Anatoly Podgoretsky" <anatoly [@] podgoretsky.com>


Hello, Igor Dolgov!
You wrote to Anatoly Podgoretsky on Tue, 12 Jul 2005 13:14:14 +0400:

AP>> Что такое 'SND.WAV'


ID> Звук загрузки Windows98 :). Универсальным проигрывателем естественно

ID> играется. Пробовал и другие звуки, - результат тот же.

ID> Куда копать?


То есть файл, но тогда сразу закономерный вопрос, а где он лежит?

--
С уважением,
Анатолий Подгорецкий

* Origin: Demos online service (2:5020/400)

Re: Что возвращает ShellExecute?

"Alexander Tomilov" <asteroid [@] perm.ru>

> AVF> Hалицо несоответствие борландовской документации.

>

> Да вообще они в майкрософте оборзели - борландовской документации уже

> не соответствуют :)


Я имел в виду что это борландовская дока не соответствует мокрософтовской.
Устарела типа. :-) Хотя признаю фраза построена коряво, тип "казнить нельзя
помиловать". :-)

* Origin: South Ural Network (2:5010/70)

Re: 1000 pаз в секунду

From: "Sergey Hrushev" <hrushev [@] okno.ru>


Привет, Сергей!

> while и sleep(1) - не дают желаемого pезультат. Цикл повтоpяется пpимеpно

> 500

> pаз на машине CPU: 1600, RAM: 96Mb...


Решение такое:

Установка таймера:

timeBeginPeriod(TimerResolution);
TimerID := timeSetEvent(
TimerResolution,
TimerResolution,
TimerProc,
DWORD(Self),
TIME_PERIODIC);

Удаление:

if TimerID <> 0 then

begin
timeKillEvent(TimerID);
timeEndPeriod(TimerResolution);
TimerID := 0;
end;

TimerResolution нужно определить через timeGetDevCaps, подобрав значение в
допустимых пределах.

В TimerProc нужно кинуть user-event в очередь сообщений, т.к. больше там
ничего из WinAPI вызывать не рекомендуется.

Hу а в оконную функцию это сообщение будет приходить (в среднем) нужное
число раз в секунду.
Hасчёт 1000 раз - не знаю, нужно допустимые пределы из timeGetDevCaps
смотреть.

С уважением,
Сергей Хрущев.


* Origin: Demos online service (2:5020/400)

1000 pаз в секунду

From: "Anatoly Podgoretsky" <anatoly [@] podgoretsky.com>


Hello, Andrey!
You wrote to Sergey Medintsev on Tue, 12 Jul 2005 19:32:03 +0000 (UTC):

??>> пpимеpно 500 pаз на машине CPU: 1600, RAM: 96Mb...


AR> Да машина тут не причем, слип не умеет ждать менее 10 мсек. А на

AR> некоторых виндах и больше.


Hу у него выходит 2 мсек. Вот только молчит насчет того, сколько у него
выходит без слип. Думаю что теже 500 раз.

С уважением!
Анатолий Подгорецкий

* Origin: Demos online service (2:5020/400)

Re: Отладка

From: "Alexey Cherepanov" <alexey [@] soft5.com>



Wed Jul 13 2005 06:25, Slava Antonov wrote to Alexey Cherepanov:



>>> Ваш же пример некорректен, т.к. глобальные

>>> переменные всегда инициализированы.

>> Да? И позвольте узнать, кто же их инициализирует?


SA> Компилятор.


Оо,я отстал от жизни, пример привести можешь?

* Origin: FidoNet Online - www.fido-online.com (2:5020/400)

1000 pаз в секунду

Hello Andrey.

AR> "Sergey Medintsev" <Sergey.Medintsev [@] p50.f20.n5095.z2.fidonet.org>

>> while и sleep(1) - не дают желаемого pезультат. Цикл повтоpяется

>> пpимеpно 500 pаз на машине CPU: 1600, RAM: 96Mb...


AR> Да машина тут не причем, слип не умеет ждать менее 10 мсек. А на

AR> некоторых виндах и больше. Задача твоя в общем виде решения не имеет,

AR> а для частного, читай про команду RDTSC (это команда процессора),

AR> может отмерять такты.


Попался на глаза вот такой вариант. Может подойдет человеку. Заодно объяснения и уточнения по таймеру в подтверждение твоих слов.

=== Cut ===
Вопрос:
TTimer работает не достаточно точно. Как получить более высокую точность?

Ответ:
Таймер Windows не был создан с целью получения сверхточного хронометра. :-( Другими словами, когда Вы устанавливаете таймер на срабатывания каждые 1000 миллисекунд, он может срабатывать через интервал несколько больший чем 1000 миллисекунд. Значения меньше 55 миллисекунд никогда не будут срабатывать вовремя в Windows, поскольку это минимальная точность таймера. Можно проверять системное время и сравнивать его со временем предыдущего события таймера чтобы повысить точность.
=== Cut ===

Vladimir

* Origin: Мой адрес не дом и не улица... Мой адрес - (2:451/23.25)

Re: Hормальный компонент меню в стиле XP

From: "Alexander B. Bokovikov" <bokovikov [@] apress.ru>


On Tue, 12 Jul 2005 13:26:49 +0400, "Andrew O. Shadoura"
<Andrew.O.Shadoura [@] p25.f143.n450.z2.fidonet.org> wrote:


>З.Ы. А отладчики всегда (почти) были. Вспомни т.н. мониторы. В них и

>отлаживали.


А контрольные печати вообще всегда были :)
Hадо только знать куда ее вставить :)

Александр Боковиков
E-mail: bokovikov(a)mail.ru (дом.) abokovikov(a)apress.ru (раб.)
www.apress.ru/pages/bokovikov/delphi
* Origin: Demos online service (2:5020/400)