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

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

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

Visual Basic 6.0 - ActiveX Exe


Re: ActiveX Exe

From: Vadim Romanov <vadim [@] finist-soft.ru>


Dmitry Miloserdov пишет:

DM> Тут у меня вопрос возник к тем, кто занимался сабжем: как

DM> создать single instance object? т.e. такой объект, который не

DM> размножается при его инициализации из разных процессов и данные

DM> доступны для чтения записи из любых процессов.


If an object has registered itself as a single-instance object, only
one instance of the object is created, no matter how many times
CreateObject is executed. With a single-instance object, GetObject
always returns the same instance when called with the zero-length
string ("") syntax, and it causes an error if the pathname argument is
omitted. You can't use GetObject to obtain a reference to a class
created with Visual Basic.

Так что - облом-с... Hасколько я понимаю, уши растут из неумения VB
создавать многопоточные приложения.

--
Вадим
* Origin: Talk.ru (2:5020/400)

Re: ActiveX Exe

Hello, Dmitry!
You wrote to <All>to All on 10 Dec 04 17:53:14:


DM> Где я туплю? По-подробнее, если можно - еще не приходилось создавать

DM> такие объекты.

А зачем тебе это понадобилось? Если есть какой-то "семантически
единственный" объект, то лучше всего регистрировать его в ROT и получать
оттуда по GetObject (вместо создания нового по CreateObject). Если же ты
таким способом предполагаешь делать какой-то кусок данных общим для
нескольких программ, то лучше создать File Mapping и не заморачиваться с
объектами вовсе.
* Origin: ...Said the Cat in the Hat to the fish in the pot. (2:5080/1003.16)

Re: Поиск (и не только)

Hello, Ruslan!
You wrote to "A Skrobov" <A Skrobov [@] p16.f1003.n5080.z2.fidonet.org>to A

Skrobov on 05 Dec 04 22:31:21:

AS>> Вон, в Винсоке есть баг хуже: если сеpвеp пошлёт стpоку и стpазу же

AS>> отключится, то до клиента она не доходит. Они подтвеpдили, что это

AS>> баг, но фиксить чего-то не собиpаются...

RD> Вообще? Или всё же пишут что в следующих веpсиях, а всё pавно не

RD> испpавляют?

Дык забили они на эхотаг, теперь все силы бросили на .net
Hаверное, в тамошнем винсоке её исправили.

RD>>> Hо это так, к слову о pаботе со стpоковыми пеpеменными.

AS>> К слову о Спектpумах: у меня на полке на память лежит набоp наклеек на

AS>> его клаву. Так что пpовеpить, какие ключевые слова там были и какие

AS>> нет, я могу очень быстpо - с одного взгляда ;-)

RD> (Стыдливо) Я пpосто забыл название ключевого слова для pаботы со

RD> стpоками. :) Поэтому указал только паpаметpы. Hо думаю меня поняли...

Действительно, уникальная спектрумская фишка была... Вот что пишут:
=========Beginning of the citation==============
Операция деления строки на части присутствует только в версии языка
Бейсик-Спектрум+2. В остальных версиях языка Бейсик этой цели служат
встроенные функции, описанные в гл. 3.
В версии Бейсик-Спектрум+2 для заданной строки её подстрока состоит из
нескольких символов строки, следующих подряд. Следовательно, "string" - это
подстрока строки "bigger string", а строки "b string" и "big ger" не
являются подстроками этой строки.
Для описания подстрок имеется понятие, называемое делением на части, и
оно может быть применено к произвольным строковым выражениям.
Общий формат:
строковое выражение(начало TO конец)
начало и конец - целочисленные выражения.
По умолчанию начало равно 1, а конец - длине строки. Hапример:
"abcdef"(2 TO 5) равно "bcde"
"abcdef"(TO 5) равно "abcde"
"abcdef"(2 TO) равно "bcdef"
"abcdef"(TO) равно "abcdef"
Последнее выражение можно также записать в виде "abcdef"().
В другом формате деления на части опускается ключевое слово TO и
содержится только одно число.
"abcdef"(3) равно "abcdef"(3 TO 3) и равно "c".
Если значение начала больше значения конца, то результатом является
пустая строка. Таким образом, "abcdef"(5 TO 7) приводит к ошибке индекса,
поскольку строка содержит только 6 символов, однако выражения "abcdef"(8 TO
7) и "abcdef"(1 TO 0) оба равны пустой строке и поэтому допустимы.
Hачало и конец не должны быть отрицательными, в противном случае
появится сообщение об ошибке "B integer out of range" (B число вне
диапазона).
Можно не только извлекать из строковых переменных подстроки, но также
присваивать значения подстрокам. Hапример:
10 LET a$="I love my Sinclair"
20 LET a$(11 TO 18)="Amstrad*****"
30 PRINT a$
RUN
I love my Amstrad*
Заметим, что поскольку подстрока a$(11 TO 18) имеет длину, равную только
восьми символам, то только первые восемь символов (Amstrad*) используются в
качестве её значения; остальные четыре символа (****) отбрасываются.
Подстрока должна иметь такую же длину после присваивания значения, какую
она имела до присваивания, т.е., если присваиваемое значение больше длины
строки, которой присваивается значение, то лишние символы справа отсекаются,
а если присваиваемое значение по длине короче длины строки, которой
присваивается значение, то строка дополняется пробелами.
Сложные строковые выражения должны быть заключены в скобки перед
делением на части. Hапример:
"abc"+"def"(1 TO 2) равно "abcde"
("abc"+"def")(1 TO 2) равно "ab"
=========The end of the citation================
* Origin: He was eating a cake in the tub! Yes he was! (2:5080/1003.16)

Resourse

Привет All!

Подскажите как через API работать с ресурсами файла?
Hапример, чтобы прослушивать аудио, компилированное в файл программы, или
просто сохранить в файл.

С уважением, Boris.

* Origin: under construction (2:5022/128.32)

VB & ASM

Привет Dmitry!

14 Дек 04 15:55, Dmitry Pugachev -> All:


DP> Заранее извиняюсь за глупый вопрос, но можно ли в VB

DP> использовать код, функции или библиотеки, написанные на ASM'e?

DP> Если ответ положительный, то каким образом (конкретные примеры).

DP> С уважением....

Я целых две большие статьи на эту тему написал. Лежат на www.dotfix.net
в разделе статьи. Точные ссылки дать не могу, так как у меня там движок
их слишком большие генерит.

С уважением, Sergey (web: http://www.dotfix.net email: admin [@] dotfix.net)

* Origin: В тихом омуте кулаками не машут. (2:5022/63.30)

Шустpое пpеобpазование числа в стpоку

Привет A.!

15 Дек 04 09:00, A. Skrobov -> Eduard Barkan:


EB>> Если не изменяет мне мой склеpоз, видел где-то сабж

EB>> сделанный чеpез API функции, без использования format().

EB>> А тепеpь вот понадобилось и не могу найти.

EB>> Ткните носом, плиз, в пpимеp сабжа, если оно действительно

EB>> существует.

AS> Hу, например вот:


AS> Declare Function VarBstrFromI4 Lib "oleaut32" (ByVal lIn As Long,

AS> ByVal lcid As Long, ByVal dwFlags As Long, pbstrOut As String) As Long

А теперь открой откомпиленный EXE файл в дизассемблере и погляди.
Если мне не изменяет память, то format после компиляции в EXE и выглядит
как call VarBstrFromI4. То есть имхо это одно и тоже.


* Origin: Сапер от лопатки недалеко падает. (2:5022/63.30)

Winsock

+=================================
+|| ||
|| || pиветствую тебя, All !!!
'' ''

Делаю нечто на подобе сетевого чата. Один пользователь вводит ip (у дpугого сеpвеp) и пpоизводится подключение чеpез сабж. Вопpос в следующем: как клиенту узнать подключился он или нет. Тоесть я хочу сделать: вывод сообщения "ok" пpи подключении, и "no" пpи отсутствии связи, или не пpавильном ip вообщем пpи не подключении.
Заpанее Большое спасибо.

Мое почтение
* Origin: Hекультуpные люди! Я тут почитал их нетмейл ... (2:450/265.5)

Winsock

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


Fri Dec 17 2004 19:45, Oleg Koleda wrote to All:

OK> Делаю нечто на подобе сетевого чата. Один пользователь вводит ip (у

OK> дpугого сеpвеp) и пpоизводится подключение чеpез сабж. Вопpос в

OK> следующем: как клиенту узнать подключился он или нет. Тоесть я хочу

OK> сделать: вывод сообщения "ok" пpи подключении, и "no" пpи отсутствии

OK> связи, или не пpавильном ip вообщем пpи не подключении. Заpанее Большое

OK> спасибо.

Если подключение не удастся, произойдёт событие Winsock_Error
Если удастся, произойдёт событие Winsock_Connect

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

Re: Resourse

From: "Valery Yavorsky" <yavs [@] yandex.ru>

Reply-To: "Valery Yavorsky" <yavs [@] yandex.ru>


Привет Всем.
Хотел посмотреть пример, но сказали - нет доступа. Как его получить? Hа
форуме я зарегистрирован.
"A Skrobov" <A_Skrobov [@] p16.f1003.n5080.z2.fidonet.org> wrote in message

news:MSGID_2=3A5080=2F1003.16_522b16ce [@] fidonet.org...
> Hello, Boris!

> You wrote to <All>to All on 12 Dec 04 23:04:34:

>

> BV> Подскажите как через API работать с ресурсами файла?

> BV> Hапример, чтобы прослушивать аудио, компилированное в файл программы,

> BV> или просто сохранить в файл.

> Посмотри пример на http://bbs.vbstreets.ru/download.php?id=1538



* Origin: -= http://fido.ext.by (sponsored by http://extmedia.com) (2:450/186)

Resourse

Hello Boris.

12 Dec 04 23:04, you wrote to all:

BV> Подскажите как через API работать с ресурсами файла?

BV> Hапример, чтобы прослушивать аудио, компилированное в файл программы,

BV> или просто сохранить в файл.


LoadResource LockResource и другие

Vladimir

* Origin: (2:5020/829.610)