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

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

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

Visual Basic 6.0 - имя процедуры как аргумент....


Re: имя процедуры как аргумент....

From: "A. Skrobov" <tyomitch [@] r66.ru>


Hello, Alexander!
You wrote in conference fido7.ru.visual.basic to "Dmitriy Kozyrev" <fido7.ru.visual.basic [@] talk.ru>to Dmitriy Kozyrev on Sat, 29 Nov

2003 16:48:20 +0300:

DK*>> Увы, стандартных средств нет. Обычно в качестве нестандартных средств

DK*>> используют либо CallWindowProc (она вызывает указанный адрес,

DK*>> подразумевая, что у процедуры, чей адрес ей передается, ровно четыре

DK*>> DWORD-аргумента), либо что-то самописное. Последнее есть и у меня. :)

DK*>> Оформлено в виде ActiveX Dll.

AS> Партизан хренов. :) Чё делает то ддлка. Чиста канкретна?

Вызывает процедуру по пойнтеру. Угадал?


To prevent your mail from being filtered out, simply quote this line in your message body. A464E022
--
* Origin: Talk.Mail.Ru (2:5020/400)

Re: NT

From: "A. Skrobov" <tyomitch [@] r66.ru>


Hello, Alexander!
You wrote in conference fido7.ru.visual.basic to "Sergey Merzlikin" <fido7.ru.visual.basic [@] talk.ru>to Sergey Merzlikin on Sat, 29

Nov 2003 16:02:03 +0300:

SM*>> Объяснение звуку критической ошибки лежит в NT Event log. Hужно

SM*>> вызывать функцию InitCommonControls в Sub Main или Form_Initialize.

AS> А функция из какой библиотеки?

comctl32.dll, угадал?

SM*>> Тогда поможет функция DeviceIOControl. А чтобы ей воспользоваться,

SM*>> придется вспомнить ДОС.

AS> Был бы благодарен тебе, если бы ты слегка развернул свой ответ.

Я когда-то с ней работал для создания образа дискетки, кинуть мой пример?


To prevent your mail from being filtered out, simply quote this line in your message body. A464E022
--
* Origin: Talk.Mail.Ru (2:5020/400)

Re: XP/98

From: "A. Skrobov" <tyomitch [@] r66.ru>


Hello, Alexander!
You wrote in conference fido7.ru.visual.basic to "All" <fido7.ru.visual.basic [@] talk.ru>to All on Sat, 29 Nov 2003 15:54:11 +0300:


AS> 1. Под ХП иконка, помещаемая в трей может быть полноцветной. 98 же

AS> полноцветные

AS> иконы приводит к 16 цветам. Я вижу 2 варианта: не использовать

AS> полноцветные

AS> иконки, делать в настроках пимпочку "использовать полноцветную икону".

AS> Есть ли другое решение задачи?

Засунуть в трей своё окно :-)

AS> 2. В VB6 не работает мышиное колесо. Что можете посоветовать?

Тыща плагинов это фиксит.


To prevent your mail from being filtered out, simply quote this line in your message body. A464E022
--
* Origin: Talk.Mail.Ru (2:5020/400)

количество COM-портов

From: "Андрущенко \(Hордлинк\)" <naa [@] arh.ru>


Здравствуйте, All!

Как в программе на VB6 узнать, сколько COM-портов имеется на данном
компьютере?

--
С уважением Hиколай Андрущенко
naa [@] arh.ru


* Origin: Internet-Arkhangelsk Company (2:5020/400)

Re[2]: xml

From: Dmitry Miloserdov <dim [@] kemtel.ru>


Привет, Alexander,

Saturday, November 29, 2003, 8:40:40 PM, ты писал:
AS> Тоесть XML это чиста так принципиальна, да? ;)

AS> Ведь можно распарсить INI без апишек, код несложный.


Да нет же. Ты чуть-чуть поторопился - читай по треду ниже.


--
Best regards,
Dmitry Miloserdov
* Origin: (я дома) (2:5020/400)

Re[2]: NT

From: Alexander Asyabrik <belmis [@] mail.belpak.by>


Привет, A.Skrobov.

Вы, было дело, писали 30 ноября 2003 г., 0:21:

SM*>>> Тогда поможет функция DeviceIOControl. А чтобы ей воспользоваться,

SM*>>> придется вспомнить ДОС.

AS>> Был бы благодарен тебе, если бы ты слегка развернул свой ответ.

AS> Я когда-то с ней работал для создания образа дискетки, кинуть мой пример?


Hе могу удержаться с просьбой кинуть и на мой адресок: нуждаюсь.
Только если это действительно доступ к секторам на физическом
уровне (MBR жесткого диска - читаемый сектор).

Мыло: snc|sobachehka|mail333[tochechka]com

Буду признателен!


--
С уважением, Alexander
1:59:07 PM
* Origin: Talk.Mail.Ru (2:5020/400)

Re: имя процедуры как аргумент....

Мы где-то виделись, A.?

30 Nov 03 00:20:16 в RU.VISUAL.BASIC A. Skrobov -> Alexander Shherbakov:


DK>>> либо что-то самописное. Последнее есть и у меня. :) Оформлено в виде

DK>>> ActiveX Dll.

AS>> Партизан хренов. :) Чё делает то ддлка. Чиста канкретна?

AS> Вызывает процедуру по пойнтеру. Угадал?


Ты знал, ты знал! (с)
Плюс еще аккуратно кладет аргументы в стек.

Всего хорошего!
Дмитрий Козырев aka Master

* Origin: Дорогу осилит идущий. (2:5023/11.148)

Листбокс

From: "Slyusar Anatoliy" <samsk [@] ukrpack.net>


Привет всем.

Люди, кто подскажет, как пройтись по списку
элементов стандартного листбокса в Excel-VBA.
Или как узнать сколько в нем строк,
номер текущей строчки.

Анатолий.

* Origin: Digital Generation (2:5020/400)

Re: Вызов фyнкции API со стpyктypами

From: "A. Skrobov" <tyomitch [@] r66.ru>


Hello, Vladimir!
You wrote in conference fido7.ru.visual.basic to "Dmitriy Kozyrev" <fido7.ru.visual.basic [@] talk.ru>to Dmitriy Kozyrev on Sat, 29 Nov

2003 14:43:23 +0300:

DK>> Собственно говоpя, деклаpации большинства фyнкций API yже пеpеведены

DK>> на эхотаг: см. файл win32api.txt в "апи лодыpе". (с)

VM> Поподpобней, как для военнопленных.

Сходи на http://allapi.net и не мучайся.


To prevent your mail from being filtered out, simply quote this line in your message body. A464E022
--
* Origin: Talk.Mail.Ru (2:5020/400)

вопрос про массивы

Hello Dmitriy!

Thu Nov 27 2003 18:39, Dmitriy Kozyrev wrote to Max Egorov:

ME>>> Есть 2 класса, второй объявлен в первом (child class). Есть

ME>>> массив udt, находящийся в первом классе. Вопрос: как работать с

ME>>> этим массивом (не делая его копии) из второго класса? Можно ли

ME>>> каким-либо образом передать ссылку на этот массив? Идеи есть, но

ME>>> реализация...

IE>> Hичего делать не надо массивы и так передаются по ссылке.

Дело в том, что тогда надо все действия во 2-м классе осуществлять из 1-го класса (=давать ссылку на первый класс и открывать доступ к массиву) или делать каждый раз копию массива (оба класса активно его меняют), а массив может быть неслабого размера.

DK> Кстати, хорошая идея. Значит, делай так. Из класса2 вызывай

DK> Friend-процедуру класса 1, передавая ей ссылку на вызывающий объект;

DK> та, в свою очередь, будет вызывать friend-метод переданного ей

DK> класса2, причем в качестве byref-аргумента передавать массив. О как.

DK> :)

Я-то пока делаю проще (так как оба класса пока в единичном экземпляре) - из первого класса перед началом работы с массивом этот массив копируется (friend процедурой из 1-го класса), а по завершении работы опять же получается обратно (через property второго класса). В принципе, скорость тут не так важна - это работа с gui и массив копируется два раза - при открытии формы и закрытии формы (первый класс чисто расчетный, второй - пачка функций для работы с gui), просто некрасиво как-то... Только после написания письма понял (если точнее, то сегодня ночью :)), что второй класс будет, скорее всего, в нескольких экземплярах и поэтому придется работать не с массивом, а с именем класса, да и править первый класс придется... И работа с safearray отладывается по причине необходимости копирования массива. Спасибо за идеи :)

P.S. Как вариант, можно использовать такой кощунственный метод как объявление global массива, но тогда, вероятно, доступ из класса к нему будет медленнее, что неприемлемо :)

Bye! Max Egorov

* Origin: Please believe me, the river told me... (2:5030/846.26)