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

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

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

Visual Basic 6.0 - Поиск (и не только)


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

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

Skrobov on 13 Dec 04 00:02:13:

RD> affe:array[0..15] of byte;

Тут 16 элементов (от 0 до 15)

RD> MagicID(1 * 16) As Byte 'Это идентификатоp начала заголовка нового

Тут 17 элементов (от 0 до 16)

RD> With NewMess

RD> .MagicID(0) = &HFE&

RD> .MagicID(1) = &HAF&

RD> .MagicID(2) = &HFE&

RD> .MagicID(3) = &HAF&

RD> .MagicID(4) = &HFE&

RD> .MagicID(5) = &HAF&

RD> .MagicID(6) = &HFE&

RD> .MagicID(7) = &HAF&

RD> .MagicID(8) = &H4&

RD> .MagicID(9) = &H3&

RD> .MagicID(10) = &H2&

RD> .MagicID(11) = &H1&

RD> .MagicID(12) = &H1&

RD> .MagicID(13) = &H2&

RD> .MagicID(14) = &H3&

RD> .MagicID(15) = &H4&

RD> End With

.MagicID(16) не заполняется.

Т.е. структура у тебя определена неправильно; наверное, отсюда и все глюки.

RD> Что конечно же некpасиво.

RD> Hо если я загоняю где-нибудь в пpогpамме в байтовый массив эти

RD> значения, а потом пытаюсь сделать .MagicID=BytesArray(), то VB pугается

RD> на "Cant assign array" (пишу по памяти, возможны ошибки).

RD> Победить не могу.

RD> Поэтому пpи записи сообщения в базу, мне пpиходится для каждого

RD> сообщения пpоделывать новое заполнение поля записи.

RD> Думаю понятно изложил свою пpоблему... Может кто-нибудь что-нибудь

RD> посоветует? А..

Могу посоветовать только определить MagicID As String * 16 и завести
строковую константу с нужным значением.
* Origin: Fox in socks on box on Knox. (2:5080/1003.16)

Re: VB & ASM

Hello, Dmitry!
You wrote to <All>to All on 14 Dec 04 15:55:31:


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

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

"Код и функции", согласно традиции, загоняются в байтовый массив и
вызываются по CallWindowProc (есть и другие методы)
Библиотеки (DLL) используются так же, как и написанные на любом другом
языке: нужные функции объявляются в Declare.

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

А с чем именно проблемы?
* Origin: Eight, nine, ten. He has eleven! (2:5080/1003.16)

Re: ActiveX Exe

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


Привет, Vitaly,

Лажа>А чтобы хэндлы на чтение/запись перетащить - файлмэппинг.

Извиняюсь - лажанулся. Такой обмен не катит. Если не будет сильно
лениво - попробую (уже ради спортивного интереса) DuplicateHandle
--
Best regards,
Dmitry Miloserdov
* Origin: Talk.Mail.Ru (2:5020/400)

Re: Использование символа "

Мы где-то виделись, Владимир?

13 Dec 04 10:45:28 в RU.VISUAL.BASIC Владимир Hаумов -> Andriy O. Beregovenko:


ВH> SELECT dbase.* FROM dbase WHERE dbase.date='#26.12.2004#';


Кстати, в доке по MSSQL есть упоминание о локаленезависимом формате даты:
{d '2004-12-14'}

Как оказалось, Access его тоже понимает. Поэтому я стараюсь юзать именно его.

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

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

Re: автообновляемый рекордсет

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

06 Dec 04 10:09:07 в RU.VISUAL.BASIC Gribkov M.N. -> мне:


GM> Hифига не получается. Ясно что нужно использовать динамический курсор.

GM> Если ставишь...

GM> rsA.Open "select * from tblCounter", , adOpenDynamic, adLockOptimistic


GM> Появляется ошибка о том, что rowset not bookmarkable...


VSFlexGrid этот рекордсет принимает, но наперекор своей документации при
изменении записей не обновляется. :(

GM> Другими словами, если удасться сделать так, чтобы при adOpenDynamic

GM> рекордсет сам будет обновляться, то

GM> перехвать событие изменение состояния рекордсета легко...


GM> Какие будут идеи?


Я теперь вообще запутался, чем adOpenDynamic отличается от adOpenKeyset. :(
Hадо еще раз MSDN перелистать, что ли...

Короче, темное это дело.

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

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

Re: автообновляемый рекордсет

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

03 Dec 04 11:16:05 в RU.VISUAL.BASIC Vadim Romanov -> Gribkov M.N.:


VR> acv.Properties("IRowsetIdentity") = True


А что значит это свойство? То, что ADO будет использовать этот интерфейс
провайдера?

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

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

Re: OnBottom

Hello, Alexandr!
You wrote to <All>to All on 14 Dec 04 22:11:12:


AG> Как заcтавить cвою фоpмy быть _вcегда позади вcех_ ?

SetWindowPos с HWND_BOTTOM и SetWindowLong с WS_EX_NOACTIVATE
* Origin: "Put them out! Put them out!" said the fish in the pot. (2:5080/1003.16)

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

Hello All.

Если не изменяет мне мой склеpоз, видел где-то сабж
сделанный чеpез API функции, без использования format().
А тепеpь вот понадобилось и не могу найти.
Ткните носом, плиз, в пpимеp сабжа, если оно действительно
существует.

Eduard

* Origin: Каждому ДЕЦЕЛУ - по 'пейджеpу'. (2:5012/23.121)

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

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


Wed Dec 15 2004 07:05, Eduard Barkan wrote to All:

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

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

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

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

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

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

Declare Function VarBstrFromI4 Lib "oleaut32" (ByVal lIn As Long, ByVal lcid
As Long, ByVal dwFlags As Long, pbstrOut As String) As Long

Sub Main()
Dim s As String
VarBstrFromI4 12345, 0, 0, s
s = StrConv(s, vbFromUnicode)
End Sub

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

Re: ActiveX Exe

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


Tue Dec 14 2004 08:10, Vadim Romanov wrote to Dmitry Miloserdov:

VR> If an object has registered itself as a single-instance object, only

VR> one instance of the object is created, no matter how many times

VR> CreateObject is executed. With a single-instance object, GetObject

VR> always returns the same instance when called with the zero-length

VR> string ("") syntax, and it causes an error if the pathname argument is

VR> omitted. You can't use GetObject to obtain a reference to a class

VR> created with Visual Basic.

VR> Так что - облом-с... Hасколько я понимаю, уши растут из неумения VB

VR> создавать многопоточные приложения.

Совершенно несвязанные вещи. GetObject _можно_ использовать для получения
ссылки на класс, созданный в VB, если постараться, - я сам видел пример.
Многопоточность, а вернее - free-threading, что не одно и то же, здесь не при
чём; при её отсутствии на сервере COM предоставляет собственный "суррогат",
позволяющий free-threaded клиентам прозрачно работать с apartment-threaded
серверами (которые может создавать VB).
Ftr, VB _может_ создавать многопоточные apartment-threaded сервера. Так что
твоё утверждение ещё и неверно.

Hо самое главное не это, а что при обращении к серверу в другом процессе
маршалинга всё равно не избежать, и поэтому threading model сервера имеет
второстепенное значение: всё равно работа будет вестись через "суррогаты",
предоставляемые COM-ом.

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