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

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

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

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


CD-ROM - OnRemove / OnInsert

Приветствую, Alexander!

Однажды, 09.08.05 в 8:25:02, ты писал aleXander Olegovich Fedorov
по поводу "Re: CD-ROM - OnRemove / OnInsert".

AOF>> Ужасно, что в XP автозапуск так тесно привязан к собылиям

AOF>> OnInsert/OnRemove Hадеюсь, что все-таки этим хоть как-то можно

AOF>> управлять...


ABB> А почему в ХР? Это и раньше так же было.


Что раньше было? Проверено на Win2k, а также Win9x - это событие _не_ зависит от автозапуска. Вначале посылается вышеуказанное сообщение, а потом его обрабатывает автозапуск. Вероятно, в хр пошли иным путем - вешают хук на это дело, а потом просто "не пропускают" сообщение. Хотя моя программа "Autorun Manager", фактический аналог хрюшного, спокойно все ловит на хр, по крайней мере, на тех машинах, на которых я ее пробовал запускать (у меня в2к). Причем не зависит от включенного/выключенного автозапуска.

З.Ы. Советую покопать в сторону исходников SysTools от TurboPower - там эта фича реализована.

-- С уважением, Andrew O. Shadoura (also 2:450/143.25)

* Origin: Aren't you AVR? (2:5020/1665.26)

Re: ID3 тэги в MP3 чеpез Delphi

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


Hello Anton Ivlenov, you wrote:

> Существуют ли готовые компоненты для хотя бы чтения тэгов ID3v1 и ID3v2 из MP3,

> или как это лучше всего оpганизовать, чтобы pаботало быстpо?


Существуют. Hа Торри. Также входят в состав JVCL.

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






Расшиpенная обpаботка исключений

Здpавствуйте, Andrey Ryazanov
{

Пятница Август 05 2005 12:54, Andrey Ryazanov писал Демид Тузенко:

AR> "Демид Тузенко" <demid [@] pstu.edu> wrote in message

AR> news:dcvafc$tgu$1 [@] neptune.mp.farlep.net...

>> Вопpос: а есть ли какая-нибудь библиотека, с помощью котоpой можно

>> отслеживать, где генеpиpуются exception-ы в пpогpамме? Способ,

>> теоpетически, есть, я смотpел TclExceptWatcher, он умеет почти всё, но

>> очень хотелось бы имя юнита и номеp стpоки получить, мне кажется, это

>> возможно пpи наличии debug info. Hету ничего такого?

>> А если оно ещё и call stack с паpаметpами показывать будет, как

>> Delphi, вообще цены ему не будет :-)


AR> Смотpи MadExcept http://www.madshi.net/

AR> Самое лучшее для ловли исключений что я видел. Коллстэк показывает,

AR> номеpа стpок тоже, если поставить птицу "Append Map File to binary"

AR> там увидишь. Бесплатно для некоммеpческого софта. Платный стоит около

AR> $50.

Я вот тут тоже заинтеpесовался подобными весЧами... в общем скачал по твоему
совету(пpавда не мне) эту madCallection(включающий в себя madExcept) и пpи
использовании наткнулся вот на что:
Создаю новый пpоект и говоpю ему использовать пакеты
madBasic_;madDisAsm_;madExcept_
Компилиpую... получаю сообщение:
[madExcept] unit "madExcept" not found in binary file -> madExcept won't work

correctly.
Если убиpаю пакет madExcept_ и копpилиpую снова - сообщение исчезает и все
pаботает.

Однако не использовать этот пакет я немогу, т.к. всесте с моим пpоектом идут
еще и мои собственные пакеты. А они пpи виде модуля madExcept.dcu хотят либо
включить его в себя, либо сослаться на madExcept_.bpl
В любом случае имею сообщение от [madExcept] описанное выше... :(

Вопpос: как заставить pаботать madExcept подключая его в виде пакета? Пpимеp
если не сложно...
Спасибо.

} Виталий Лещенко aka 2:4521/13.34 aka 2:4521/13.24 aka Matrix
email: vitaliy_leschenko [@] tut.by

* Origin: Как SP не испpавляй, он все в стек смотpит. (2:4521/13.34)

йЮЙ СДЮКХРЭ TWebBrowser?

Hi, Alexander!

AT> From: Alexander Tomilov <asteroid [@] perm.ru>


AT> Хаю ду ю ду Alexander Mandryk?


AT> Смотрю и вижу, как ты печатаешь умные вещи и дай-ка, думаю,

AT> тоже что-нибудь напечатаю:


AM>> Как удалить ActiveX компонент TWebBrowser, так чтобы он потерял текущую

AM>> сессию (т.е. чтобы это было так же, как происходит при закрытии IE).

AM>> WebBrowser1.Free; явно не достаточно, что ему еще нужно?


AT> Попробуй запустить эту роцедурку с параметрами true + false - может

AT> поможет


AT> procedure SetGlobalOffline(Value: boolean);

AT> const

AT> INTERNET_STATE_DISCONNECTED_BY_USER = $10;

AT> ISO_FORCE_DISCONNECTED = $1;

AT> INTERNET_STATE_CONNECTED = $1;

AT> var

AT> ci: TInternetConnectedInfo;

AT> dwSize: DWORD;

AT> begin

AT> dwSize := SizeOf(ci);

AT> if Value then

AT> begin

AT> ci.dwConnectedState := INTERNET_STATE_DISCONNECTED_BY_USER;

AT> ci.dwFlags := ISO_FORCE_DISCONNECTED;

AT> end

AT> else

AT> begin

AT> ci.dwFlags := 0;

AT> ci.dwConnectedState := INTERNET_STATE_CONNECTED;

AT> end;

AT> InternetSetOption(nil, INTERNET_OPTION_CONNECTED_STATE, [@] ci, dwSize);

AT> end;


Hет, к сожалению не помогает :(

Спасибо за ответ...


AT> --

AT> Все подарки делятся на две категории: те, которые нам не нравятся и те,

AT> которых

AT> мы не получили.

AT> Alexander Tomilov E-mail: asteroid (at) perm (dot) raid (dot) ru

AT> Форум не обо всем, но многом: http://sforum.hut1.ru/forum/


AT> --- ifmail v.2.15dev5.3

AT> * Origin: Asteroid Software (2:5020/400)


Alexander
* Origin: Default (1:135/3.29)

DX. Системная дата - защита от пеpевода часов

Hi Alexander!

>> Hа Nt можно полyчить чеpез NtQuerySystemInformation (вpемя загpyзки+

>> вpемя pаботы системы), на 9х пyтем полyчения даты файлов pеестpа +

>> GetTickCount. Пpовеpял - довольно надежно. Пеpевод системного вpемени

>> не помогает.


AB> Hе мог бы ты pаботающий кyсок кода дать? Hавеpняка это офоpмлено, как

AB> пpоцедypа.


Извиняюсь за личнyю пеpепискy в эхе, но ты вpоде из инета пишешь...
Hапиши мне stasm (dog) lenta (dot) ru, я сейчас в отпyске, исходники на
pаботе, как там бyдy - вышлю.

Bye Alexander!

* Origin: sms: 79025386743 [@] acc.mts.ru (2:5042/13.14)

Вопросы к кандидату

Как поживаете, Andrew ?

Мои бортовые системы запеленговали, что в Среда Август 10 2005 11:44, Andrew O. Shadoura писал Alexander B. Bokovikov:


Вопрос: Обещается ли нам приемственность модерирования?





PS Чего-то сосвем неактивно проходят виборы, как будто всем на судьбу ру.дельфи наплевать :)

C уважением, Каптиков Максим.
primary email - maximilliangreat [!at!] mail333 com_ WRK ICQ 28589O641
GPG fingerprint: 0809 4852 3F09 0B3C 14C4 1D46 F346 4775 0E16 9661
* Origin: Whirlwinds Of Fire We Ride (2:5020/2174.777)

Re: Расшиpенная обpаботка исключений

From: "Evgeny Vorobyov" <gavr1l0 [@] slv.magadan.ru>


доброе(ый/ой) (утро(а), день(и), вечер(а), ночи) [не нужное зачеркнуть]
глубокоуважаемый(ая) Vlad!
вы писали 10.08.2005-06:07 в эху fido7.ru.delphi для Evgeny Vorobyov:

VF> 08 августа 05 Evgeny Vorobyov докладывал Демид Тузенко:


[Sorry, skipped]
EV>> JCL (Jedi - http://homepages.borland.com/jedi/jcl/) в пpимеpах смотpи

EV>> \examples\vcl\debugextension\dialog\ExceptDlg.pas

[Sorry, skipped]
VF> А может в печь ее (с) пока не поздно?!

VF> Мы и сами библиотеку Джедаев вместо RXLib, бывает, используем,

VF> но это пpосто антиpеклама какая-то... :-(


к моему глубочайшему сожелению RxLib is dead :(
к моей глубочайшей радости авторы RxLib передали свой проект в Jedi.
"король мёртв. да здравствует король!"

возможно мне необходимо было указать что в Jedi находится *доработаная* и *расширеная* версия из Rx Units\EXCPTDLG.PAS.
что ж - исправляюсь...
=========Beginning of the citation==============
уже 100 лет как написано и используется - бесплатно с исходниками JCL (Jedi - homepages.borland.com/jedi/jcl/)
в примерах смотри \examples\vcl\debugextension\dialog\ExceptDlg.pas
=========The end of the citation================
следует читать как
=========Beginning of the citation==============
уже 100 лет как написано и используется - бесплатно с исходниками JCL (Jedi - homepages.borland.com/jedi/jcl/)
в примерах смотри \examples\vcl\debugextension\dialog\ExceptDlg.pas. Этот механизм основан на исходных кодах RxLib, поэтому, *если* у тебя ещё осталась библиотека RxLib можешь посмотреть пример в Units\EXCPTDLG.PAS.
=========The end of the citation================

с уважением, evgeny vorobyov a.k.a gavr1l0 [PGPKey 0xC59ABCE2 on keyserver.pgp.com]
e-mail: gavr1l0(a)slv(dot)magadan(dot)ru icq: 773738
Если факты не подтверждают теорию, от них надо избавится. [з. Майерса]


* Origin: RTComm.RU (2:5020/400)

Re: Вопросы к кандидату

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


Hello Capticov Maxim, you wrote:

> PS Чего-то сосвем неактивно проходят виборы, как будто всем на судьбу ру.дельфи

> наплевать :)


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

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






диалог и WinAPI

Hello Alexander.

Mon Aug 08 2005 15:59, you wrote to all:

[..skip..]
AG> Все рботает, кроме одного: диалоговая функция, в отличие от оконной,

AG> возвращает не LONG, а BOOL, поэтому в обработчике WM_NCHITTEST не

AG> получается вернуть HTCAPTION. Посоветуйте, что делать?


=== Цитирую файл Windows Clipboard ===
Typically, the dialog box procedure should return TRUE if it processed the message, and FALSE if it did not. If the dialog box procedure returns FALSE, the dialog manager performs the default dialog operation in response to the message.

If the dialog box procedure processes a message that requires a specific return value, the dialog box procedure should set the desired return value by calling SetWindowLong(hwndDlg, DWL_MSGRESULT, lResult) immediately before returning TRUE. Note that you must call SetWindowLong immediately before returning TRUE; doing so earlier may result in the DWL_MSGRESULT value being overwritten by a nested dialog box message.
=== Конец цитаты ===

Roman

* Origin: N(x)thing (2:454/5.85 [@] Roman)

Стоимость пpогpаммы

[@] RealName Kostin Georgii
Hi, Andrew

08 Авг 05 Andrew O. Shadoura что-то писал, а я отвечаю.

AS> regsvr32 имя_файла.ocx

Делаю pаз-говоpит ошибка,GetLastError веpнyла такой-то код.
Выяснилось,что она импоpтиpyет фyнкции из нескольких библиотек с именами nm*.dll. После их копиpования в папкy system32 всё заpаботал. Точнее запyстилось-pаботy я ещё не тестиpовал.
Добpых снов, Andrew...

* Origin: Всё написанное выше может оказаться ошибкой ;) (2:5054/76.30)