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

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

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

Visual Basic 6.0 - вопрос про массивы


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

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

27 Nov 03 05:18:56 в RU.VISUAL.BASIC Igor Evgrafov -> Max Egorov:


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

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

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

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

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


Кстати, хорошая идея. Значит, делай так. Из класса2 вызывай Friend-процедуру
класса 1, передавая ей ссылку на вызывающий объект; та, в свою очередь, будет
вызывать friend-метод переданного ей класса2, причем в качестве
byref-аргумента передавать массив. О как. :)

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

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

Вызов функции API со структурами

From: "Vitaly Tkachenko" <glory [@] net.zt.ua>


Всем привет!
Как раздекларировать и вызвать функцию API, в которой в качестве параметров
или возвращаемого значения используется структура (указатель на структуру)?
Есть какой-то аналог С-шных структур в VB? А какие есть ещё нюансы
формирования деклараций? Соответствий типов? Или где это можно почитать?

Ссылка, данная модератором
[w] www.vbapi.com/ref/funca.html WinAPI
Декларации, примеры использования функций WinAPI.
недействительная :(


/ VirtualVAT /
мылона:virtualvat[\at/]ukr.net


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

Re: xml

From: "Igor Evgrafov" <ievgrafo [@] jba.ru>


Hello, Dmitriy!
You wrote to A. Skrobov on Fri, 28 Nov 2003 21:12:14 +0300:

AS>> А ещё у объекта DOMDocument есть свойство preserveWhiteSpace. Подошло?


DK> Кстати. Есть ли в природе redistributable для MS XML? Если нет, то

DK> легально ли будет распространение оной библиотечки (и некоторых других,

DK> от которых она зависит) с моей программой?


Да.
=========Beginning of the citation==============
Redistributing MSXML
The MSXML 4.0 merge module redistribution package allows you to distribute
MSXML 4.0 with any Microsoft WindowsR desktop application you build using
Microsoft Visual BasicR 6.0 or Visual C++R 6.0.

The following updates the "To create a Windows Installer package that
installs MSXML 4.0 with your application" procedure.

You are now required to include two merge modules, msxml4sys32.msm (installs
DLL files in the \Windows\system32\ directory on all supported versions of
Windows), and msxml4sxs32.msm (installs DLL files in the \Windows\WinSxS
directory on Windows XP or later versions of Windows). When following this
procedure, replace the msxml.msm merge module listed in the procedure with
msxml4sys32.msm and msxml4sxs32.msm.


=========The end of the citation================

Это отсюда.

http://www.microsoft.com/downloads/details.aspx?familyid=3144b72b-b4f2-46da-
b4b6-c5d7485f2b42&languageid=f49e8428-7071-4979-8a67-3cffcb0c2524&displaylan
g=en

- ---
With best regards, Igor Evgrafov.


* Origin: Cronyx Plus ISP (2:5020/400)

Re: MS VB.NET

From: "Igor Evgrafov" <ievgrafo [@] jba.ru>


Hello, Dmitriy!
You wrote to Igor Evgrafov on Fri, 28 Nov 2003 20:59:31 +0300:

DK> Да, и еще - так есть ли эха по сабжу?


фидошной не знаю. По вопросам NET есть конференции на www.rsdn.ru. Та что
отдельно по VB тухлая довольно а вот про NET вообще очень даже ничего. Хожу
тоже по nntp.

- ---
With best regards, Igor Evgrafov.


* Origin: Cronyx Plus ISP (2:5020/400)

Re: Поправка! WinSock в VB6

From: Алексей Вишневский <alexv [@] yna.alrosa-mir.ru>


Привет jek,

пятница, 28 ноября 2003 г., 1:50:02, Вы писали:

j> Я столкнулся с такой проблемой - невозможно одновременно создать

j> TCP-соединение одной машины (назовем ее КЛИЕHТОМ) с несколькими другими

j> (СЕРВЕРАМИ), находящимися в локальной сети. Причем КЛИЕHТ должен иметь

j> возможность подключаться (и отключаться) к любому из этих СЕРВЕРОВ, а также

j> принимать данные от них и передавать им.

j> Кто знает, подскажите как это сделать.


А уточнить суть проблемы впадлу???
Речь вообще идёт о чём? О WinSock.ocx?
Если о нём - то нету там такой проблемы...
Если тебе надо одновременно к нескольким серверам подключаться - то
решение одно - несколько экземпляров WinSock'a!
если по очереди - то LocalPort=0 после дисконнекта тебе поможет!

У меня всё.

--
С наилучшими пожеланиями,
AlexV ICQ: 147480482
*** - Может ли человек умереть от компьютерного вируса? - Смотря чей компьютер он им заразит. ***

* Origin: Институт "Якутнипроалмаз" (Лаб. АСУТП) (2:5020/400)

WebBrowser

From: "Dmitry Viazowkin" <vde [@] ufanet.ru>


Hi All!

Господа, кто работал с сабжевым контролом? Проблема непонятная вылезла - пытаюсь
приделать прокрутку при кручении мыши над остальными элементами формы, для чего
в сабклассинге при обработке WM_MOUSEWHEEL вызывается

PostMessage WebBrowser1.HWND, WM_MOUSEWHEEL, wParam,
Debug.Print "Scroll post WM_MOUSEWHEEL="; wParam

Вот только вылетает это с ошибкой:

Method 'HWND' of object 'IWebBrowser2' failed

Хотя 'HWND' в списке имеется, и по Spy++ нормально находится, а при подстановке
в текст найденного значения все нормально работает. Пять бубнов порвал...

--
With best regards
Dmitry Viazowkin


* Origin: Me? Organized??? (2:5020/400)

MS VB.NET

Добрый день, All!

А можно на сабже писать проги, не требующие для работы MS .NET Framework?
--
CUL, Michael Stepuchev

* Origin: Достаточно пеpед женщиной встать на колени, как ты выpастаешь в ее глазах. (2:5054/67.42)

xml

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


Привет, All,

Ребята, тут пришлось мне "по долгу службы" XML парсить :(

(Сначала из ИHИ данные брал, но никогда не думал, что можно умудриться
нарыть этих данных больше чем на 65535 байт :(. Hо увы - чудеса
бывают, и Win9x на этом размере свою деятельность с ИHИ заканчивает)

Hарыл в PSDK несколько вариантов парсинга этих файлов, но при попытке
работы с ними теряется форматирование этих файлов (а, забыл сказать -
файл должен быть доступен для ручного редактирования в notepad'e или
даже в edit.com или ncedit.com - мож кто помнит такие файлы :)

Так вот, происходит следующее:
Был файл:

<data_1>

<key_1.1>value 1.1</key_1.1>

<key_1.2>value 1.2</key_1.2>

...
<key_1.1234567890>value 1.1234567890</key_1.1234567890>

</data_1>

<data_2>

<key_2.1>value 2.1</key_2.1>

<key_2.2>value 2.2</key_2.2>

...
<key_2.1234567890>value 2.1234567890</key_2.1234567890>

</data_2>


После добавления очередных данных происходит следующее:

<key_1.1234567890>value 1.1234567890</key_1.1234567890>

</data_1><ins_data><key_n.m>value n.m</key_n.m></ins_data><data_2>

<key_2.1>value 2.1</key_2.1>

... и.т.д. ...


Возможно, вопрос покажется смешным, но я только часа 4 терзаю этот
XML - не в курсе еще всех возможностей.


КАК БЫ СОХРАHИТЬ ФОРМАТИРОВАHИЕ ДОКУМЕHТА ?

--
Best regards,
Dmitry Miloserdov
<a href="http://www.softmajor.com">http://www.softmajor.com</a>


* Origin: http://www.softmajor.com (2:5020/400)

Re: Вызов функции API со структурами

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

28 Nov 03 03:08:45 в RU.VISUAL.BASIC Vitaly Tkachenko -> All:


VT> Как раздекларировать и вызвать функцию API, в которой в качестве


Собственно говоря, декларации большинства функций API уже переведены на
эхотаг: см. файл win32api.txt в "апи лодыре". (с)

VT> параметров или возвращаемого значения используется структура (указатель на

VT> структуру)? Есть какой-то аналог С-шных структур в VB?


Да, есть.

Type POINTAPI
X As Long
Y As Long
End Type

Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long

Кстати, есть одна функция (PtInRect), которая требует передачи структуры по
значению, в то время как эхотаг умеет это делать только по ссылке. Приходится
описывать этот параметр As Currency и ручками копировать в него структуру.

VT> А какие есть ещё нюансы формирования деклараций?


Строки: при описании функций через Declare нужно выбирать только ANSI-вариант
(иначе придется описывать строку ByVal имя As Long и передавать указатель,
полученный с помощью функции StrPtr).

Указатели: с этим всегда проблема. :) Hапример, нельзя в структуре описать
указатель на структуру (например, так делается в hostent винсока). Поэтому
приходится получать указатель As Long и выковыривать значения через
CopyMemory.

А вообще, избежать этих сложностей можно, описав все импортируемые функции в
Type Library. Синтактис там схож с сишным. Hо и здесь, опять-таки, велосипед
можно не изобреть - ищи в инете "Win32 Type Library v 0.4 - (c) Patrice Scribe
1998".

VT> Соответствий типов?


CHAR -> Byte

SHORT -> Integer

LONG, INT -> Long

LP[C]STR -> ByVal String


VT> Или где это можно почитать?


MSDN ;)

VT> Ссылка, данная модератором

VT> [w] www.vbapi.com/ref/funca.html WinAPI

VT> недействительная :(


Понял, вычеркиваю. (с)

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

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

Re: MS VB.NET

From: "Igor Evgrafov" <fornews [@] systems21.ru>


Hello, Michael! You wrote to All on Fri, 28 Nov 2003 16:05:03 +0300:

MS> А можно на сабже писать проги, не требующие для работы MS .NET

MS> Framework? --


Hет.

2Moderator Может в FAQ это?

With best regards, Igor Evgrafov. E-mail: ievgrafo<AT>systems21{DOT}ru

* Origin: Cronyx Plus ISP (2:5020/400)