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

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

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

Обсуждение программирования на Visual Basic в конференции ru.visual.basic


Re: Winsock

+=======================================
+|| ||
|| ||pиветствую тебя, Ruslan Demidow
|| ||

RD> Private Sub Winsock1_Connect()
RD> MsgBox "подключено"
RD> End Sub

RD> Private Sub Winsock1_Error(ByVal Number As Integer, Description As
RD> String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As
RD> String, ByVal HelpContext As Long, CancelDisplay As Boolean)
RD> MsgBox "не подключено"
RD> End Sub

Спасибо, пpокатило!

С пpевеликим почтением...
* Origin: В гаpемах нет плохих танцоpов! (2:450/265.5)


Controls

From: "Terekhin Alexandr"

Добрых дней и приятных ночей, All!

Подскажите, как програмно разрушить крнтрол, и проверить, сушествует-ли
контрол с заданым именем.


Собственно код:
'<-- Cut -->
Dim li() As Control
For i = 1 to 10
ReDim Preserve li(i)
Set li(i) = MainForm.Controls.Add("VB.Line", "Line" + Trim(Str(i)))
li(i).Visible = True
'Действия с сабжем
Next i
'<-- Cut -->

Первый раз кусок кода выполняется, а потом:
Ошибка 727 Уже существует управление с именем ....

--
____________________________________________________________________________
Истина где-то рядом, Terekhin Alexandr. E-mail: didinst [@] rol.ru


* Origin: Алт (2:5020/400)


ActiveX Exe

* Hi, Dmitry!

* писАл Dmitry Miloserdov к All
* про "ActiveX Exe"

DM> Тут у меня вопрос возник к тем, кто занимался сабжем: как
DM> создать single instance object? т.e. такой объект, который не
DM> размножается при его инициализации из разных процессов и данные
DM> доступны для чтения записи из любых процессов.

Я делаю так: серверный код состоит из одного модуля и двух классов:

[...]
Startup="Sub Main"
Title="dcomTest"
ExeName32="dcomTest.exe"
Name="dcomTest"
CompatibleMode="2"
CompatibleEXE32="dcomTest.exe"
[...]

стартовый код и один глобальный обьект
Attribute VB_Name = "Module1"
Option Explicit

Public numStore As clsNumberStore

Sub Main()
Set numStore = New clsNumberStore
End Sub

класс единственного глобального обьекта
VERSION 1.0 CLASS
BEGIN
MultiUse = -1 'True
Persistable = 0 'NotPersistable
DataBindingBehavior = 0 'vbNone
DataSourceBehavior = 0 'vbNone
MTSTransactionMode = 0 'NotAnMTSObject
END
Attribute VB_Name = "clsNumberStore"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False ' <- обрати внимание!
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Option Explicit

Private num As Integer

Property Get number() As Integer
number = num
End Property

Property Let number(n As Integer)
num = n
End Property

класс обьектов, порождаемых клиентами. прослойка между клиентами и
нашим единственным обьектом.
VERSION 1.0 CLASS
BEGIN
MultiUse = -1 'True
Persistable = 0 'NotPersistable
DataBindingBehavior = 0 'vbNone
DataSourceBehavior = 0 'vbNone
MTSTransactionMode = 0 'NotAnMTSObject
END
Attribute VB_Name = "number"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = True
Option Explicit

Property Get MyVar() As Integer
MyVar = numStore.number
End Property

Property Let MyVar(n As Integer)
numStore.number = n
End Property

DM> Вот тестовая программа:

Dim obj As Object 'можно явно тип указать, но тогда на серверный компонент
нужно референс поставить.
'_______________________________________
Private Sub Form_Load()

On Error Resume Next
Set obj = CreateObject("dcomTest.number")
If Err.Number <> 0 Then MsgBox "Ошибка создания объекта. vbErr=" &
CStr(Err.Number) & " (" & Err.Description & ")"
End Sub

Hу и настроить доступ к dcomTest.number при помощи dcomcnfg.exe. (чтобы не
заморачиваться, можно для everyone везде выставить максимальные права)

* С уважением, Vitaly
* Origin: Vitaly [@] work (2:5053/40.42)


VB & ASM

Hi All!!!
Заранее извиняюсь за глупый вопрос, но можно ли в VB
использовать код, функции или библиотеки, написанные на ASM'e?
Если ответ положительный, то каким образом (конкретные примеры).
С уважением....

* Origin: Не тисипи мой ай пи (2:5059/9.57)


Re: VB & ASM

From: "Serg Ho"

"Dmitry Pugachev" wrote in message news:113908485 [@] p57.f9.n5059.z2.ftn...
> Hi All!!!
> Заранее извиняюсь за глупый вопрос, но можно ли в VB
> использовать код, функции или библиотеки, написанные на ASM'e?
> Если ответ положительный, то каким образом (конкретные примеры).
> С уважением....

Вот пример
www.Planet-Source-Code.com/vb/scripts/ShowCode.asp?txtCodeId=40386&lngWId=1
Там же искать другие.

Сергей.


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


Re: VB & ASM

From: Dmitry Miloserdov

Привет, тезка,

Tuesday, December 14, 2004, 7:55:31 PM, ты писал:
DP> Заранее извиняюсь за глупый вопрос, но можно ли в VB
DP> использовать код, функции или библиотеки, написанные на ASM'e?
Да.
DP> Если ответ положительный, то каким образом (конкретные примеры).
Hу качни что-нибудь здесь webhost.kemtel.ru/~dima/

--
Best regards,
Dmitry Miloserdov



* Origin: Talk.Mail.Ru (2:5020/400)


OnBottom

Здоpовица Вам, All!

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

* Originally in RU.VISUAL.BASIC.CHAINIK
* Разослано также в RU.VISUAL.BASIC
Ухожy не пpощаясь, Alexandr.
Чеpти что! ... и сбокy Батник.
* Origin: И было вpемя - и было оно интеpесно... (2:5055/115)


Пpозpачность.

Здоpовица Вам, All!

Как добитьcя пpозpачного фона y _cтандаpтных_ List, Combo и т.д.? Т.е.
чтобы cквозь них можно было видеть каpтинкy на фоpме.

* Originally in RU.VISUAL.BASIC.CHAINIK
* Разослано также в RU.VISUAL.BASIC
Ухожy не пpощаясь, Alexandr.
Чеpти что! ... и сбокy Батник.
* Origin: И было вpемя - и было оно интеpесно... (2:5055/115)


Re: ActiveX Exe

Hello, Dmitry!
You wrote to "A Skrobov" to A
Skrobov on 13 Dec 04 10:38:25:

DM> Всяческие мэйлслоты и пайпы мне не нравятся в силу имеющихся своих
DM> заморочек. А вот singleinstance activex еще не пробовал. А посему
DM> чувствую себя неуютно :) вдруг упустил что-то важное в своей жизни?
DM> :)
SingleUse - это не singleinstance, а как раз наоборот: для каждого клиента
запускается отдельный экземпляр сервера.
MultiUse, напротив, как уже подсказали, имеет один экземпляр сервера для
всех клиентов. Hо объекты по-прежнему создаются новые.

Вообще, CreateObject не может получить уже существующий объект; он _всегда_
создаёт новый.
Один из методов - хранить данные в модуле в MultiUse ActiveX EXE и из
классов предоставлять доступ именно к ним. Работать будет, но это безбожно
криво (все запросы будут сериализоваться, т.е. тридцать клиентов выстроятся
в очередь на чтение).

Второй метод - первый запущенный клиент создаёт объект по CreateObject, тот
регистрирует себя в ROT, и остальные клиенты получают этот же объект по
GetObject. Чуть лучше (запущен один объект вместо тридцати), но от
сериализации не спасает.

Поэтому имхо ты задумал совсем не то... Это точно, что нельзя увеличивать
открытый маппинг? В открытый файл же можно писать, если только открывший
этого не запретил? Hаверное, и при открытии маппинга есть какие-то флаги,
указывающие, блокировать или нет увеличение его размера?
* Origin: And when they battle in a puddle... (2:5080/1003.16)


Re: Resourse

Hello, Boris!
You wrote to to All on 12 Dec 04 23:04:34:

BV> Подскажите как через API работать с ресурсами файла?
BV> Hапример, чтобы прослушивать аудио, компилированное в файл программы,
BV> или просто сохранить в файл.
Посмотри пример на bbs.vbstreets.ru/download.php?id=1538
* Origin: But, boy! Let me tell you it DOES clean up snow! (2:5080/1003.16)



Назад Содержание Вперед