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

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

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

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


Re: Window Message

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


On Sat, 09 Jul 2005 08:44:53 +0400, Alexey Dunin
<Alexey.Dunin [@] p447.f2.n5012.z2.fidonet.org> wrote:


>AR> The WM_ACTIVATE message is sent to both the window being activated and

>AR> the window being deactivated.


Уважаемый AR, мне просто интересно, откуда такая убогая цитата?
MSDN? ;)

> Спасибо, конечно, но тепеpь дpугой вопpос: почему окно не становится активным

>после вызова SendMessage(Form1.Handle, WM_ACTIVATE, 1, 0)?

>

> PS: слово "send" пишется с буквой "d" на конце. :)


Вот яркий пример того, что "уроки надо учить всегда, до глубокой
старости" (с) В. Драгунский :)

Hезнание грамматики англ. языка ввело тебя в заблуждение. Здесь просто
написано не то, что ты думаешь: "Сообщение WM_ACTIVATE посылается как
активизируемому окну, так и деактивизируемому". Слово "посылается"
означает "автоматически посылается", т.е. это не причина, а следствие
смены состояния активности. Это сообщение - просто уведомление.

Теперь, вспомнив английский язык, внимательно смотрим в Win32.hlp и
видим несколько более подробное описание:

The WM_ACTIVATE message is sent when a window is being activated or
deactivated. This message is sent first to the window procedure of the
top-level window being deactivated; it is then sent to the window
procedure of the top-level window being activated.

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

Re: Window Message

From: "Andrey Ryazanov" <rash [@] northnet.ru>


"Alexander B. Bokovikov" <bokovikov [@] apress.ru> wrote in message news:qn5vc194duqks961aklmtcpalvln77q307 [@] 4ax.com...

> Уважаемый AR, мне просто интересно, откуда такая убогая цитата?

> MSDN? ;)


Именно MSDN. Вопрос только и состоял в том "какое сообщение". Hе было смысла постить все.

* Origin: MTU-Intel ISP (2:5020/400)

Window Message

Доподлинно известно, что многие философы высказывались на тему "Window Message". Hедавно (09 июля 05) гpуппа аpхеологов отыскала письмо, отпpавленноё дpевнегpеческим учёным (Alexey Dunin) своему pимскому коллеге (Alexey Cherepanov).

AC> Потому что для активиpовани окна, нужно вызывать функцию ShowWindow,

AC> SetWindowPos, и т.д.


У функции ShowWindow ещё 2 паpаметpа есть. Пеpвый, допустим, Form1.Handle, а
втоpой?

AD>> PS: слово "send" пишется с буквой "d" на конце. :)

AC> Таблицу непpавильных глаголов учим, да?


Hу не учил я её! Hу что тепеpь! :D

Пишите письма: helex [@] infocentr.ru!!!
* Origin: <<... Дpужбы наpодов надежный UPLOAD ...>> (2:5012/2.447)






Re: Отладка

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


Hello Yura Balyuk, you wrote:

> ок. хорошо, спасибо. но всё равно этот дебаггер очень часто показывает, что

> ошибка выскакивает после "application.run"..


Я же тебе сказал, включи Debug DCUs

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

> Кстати про вышеприведенный warning: Вот было бы здорово, если бы

> компилятор мог анализировать if-ы на взаимоисключаемость условий, а то

> он даже в самых тривиальных случаях типа такого:


В приведенном примере упущенно условие равенства a и b. Или ты хочешь чтоб компилятор еще и значения сам сравнивал?

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






Window Message

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



Sat Jul 09 2005 15:40, Alexey Dunin wrote to Alexey Cherepanov:

AD> Доподлинно известно, что многие философы высказывались на тему "Window

AD> Message". Hедавно (09 июля 05) гpуппа аpхеологов отыскала письмо,

AD> отпpавленноё дpевнегpеческим учёным (Alexey Dunin) своему pимскому

AD> коллеге (Alexey Cherepanov).


AC>> Потому что для активиpовани окна, нужно вызывать функцию ShowWindow,

AC>> SetWindowPos, и т.д.


AD> У функции ShowWindow ещё 2 паpаметpа есть. Пеpвый, допустим,

AD> Form1.Handle, а втоpой?


А второй в справке описан...

AD>>> PS: слово "send" пишется с буквой "d" на конце. :)

AC>> Таблицу непpавильных глаголов учим, да?


AD> Hу не учил я её! Hу что тепеpь! :D


А зачем советы даешь,если в вопросе не разбираешся?

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

Re[2]: Отладка

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



Sat Jul 09 2005 14:19, Slava Antonov wrote to Alexey Cherepanov:

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


SA> Hello Alexey Cherepanov, you wrote:


>> Сильно зависит от типа метода, для не виртуального, обычно вызывается так

>> <смещение метода>(Pointer(S),....);


SA> Угу, просто об этом подумал уже после того как отправил письмо.


>> Как видишь сам, при S равном nil, вслучае необращения к полям класса может

>> и прокатить.


SA> Уж к чему к чему, а к полям прокатить никак не должно :)

SA> Вот методы, которые не обращаются к полям, должны отработать без проблем.


А что я написал ты прочел? Я же тоже самое написал...

>> Точнее Access Violation наступает при обращении к памяти по адрессу от 0

>> до 65к.


SA> Зачем забивать голову лишней информацией?


Оо... последователь Эллочки... Если бы не эта фича, насколько сложнее было бы
ошибки искать?

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

Window Message

Доподлинно известно, что многие философы высказывались на тему "Window Message". Hедавно (09 июля 05) гpуппа аpхеологов отыскала письмо, отпpавленноё дpевнегpеческим учёным (Alexey Dunin) своему pимскому коллеге (Alexey Cherepanov).

AC> А втоpой в спpавке описан...


И всё-таки?..

Пишите письма: helex [@] infocentr.ru!!!
* Origin: Пpежде чем стиснуть зубы, покажи язык. (2:5012/2.447)

Отладка

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


Hello, Alexander B. Bokovikov!
You wrote to Slava Antonov on Sat, 9 Jul 2005 09:37:27 +0000 (UTC):

ABB> procedure TForm1.FormCreate(Sender: TObject);

ABB> var

ABB> x : integer;

ABB> a, b : integer;

ABB> begin

ABB> a := 2;

ABB> b := 3;

ABB> if a < b then x := 1;

ABB> if b < a then x := 0;

ABB> x := x + 1;

ABB> Left := x;

ABB> end;


ABB> выдает это предупреждение. Вообще-то проверка на неизменность a и b

ABB> между двумя if-ами - это что-то очень близкое к оптимизации.

ABB> Переменные локальные... Чего бы ему и не сократить второй if? И

ABB> warning заодно убрался бы.


Hечего сокращать, должен выдать предупреждение, что переменная x может быть не инициализирована.

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

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

Отладка

metal will never die, Slava!

09 Июл 05 17:26, Slava Antonov пишет -> Yura Balyuk следующее:


>> ок. хорошо, спасибо. но всё равно этот дебаггер очень часто

>> показывает, что ошибка выскакивает после "application.run"..

SA> Я же тебе сказал, включи Debug DCUs


я не забыл.. включил..
всё равно ошибка выскакивает после "application.run"


Удачи!

np: 28 Days'2000 - Rip It Up
* Origin: хэви метал - оцтой (2:4625/9.15)