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

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

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

Visual Basic 6.0 - PopupMenu


PopupMenu

* Hi, Alexander!


VB>> После выбора пункта меню должна загрузиться модальная форма. Обычный

VB>> последовательный код.


AA> Умно слишком говоришь, я не понимаю:(.


Hу чтож...

VB>> Впрочем, можешь привести рабочий пример решения той же задачи с

VB>> использованием таймера, кристалльно простой и понятный.


AA> вот я делал так: клал на форму выключенный таймер с выставленным

AA> минимальным интервалом. А в событии клик меню вместо непосредственного

AA> вызова модальной формы включал тот таймер. Оставалось в событии

AA> таймера снова выключить его и уже вызвать форму. Вот он весь код-то:


К сожалению, пример не рабочий, его нельзя загрузить в среду и выполнить.

AA> Private Sub mnuShowForm_Click()

AA> Timer1.Enabled = True

AA> End Sub


AA> Private Sub Timer1_Timer()

AA> Timer1.Enabled = False

AA> Form2.Show vbModal

AA> End Sub


Если свести мой пример к такому уровню, то получиться:

Private Sub mnuShowForm_Click()
If popupMenuFlag Then
popupMenuFlag = False
Else
Form2.Show vbModal
End If
End Sub

AA> Достаточно просто?


Hет. Вместо таймера можно обойтись булевой переменной.

AA> Если что непонятно, не стесняйся, спрашивай :-)


Да мне то как раз пока что все понятно.

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

Re: PopupMenu

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


Привет, Vitaliy.

Вы, было дело, писали, 13:44 24.05.04:

VR> У меня тут возникла идея, может я не прав, ибо не пробовал сам


VR> принцип похож на таймер :)

VR> токо вместо таймера предлагаю использовать лейбл

VR> 0.пишем на событие чендж лейбла вызов второй модальной формы

<skip>

VR> преимещуство перед таймером: не надо отслеживать энаблед/дизаблед таймера


Есть один недостаток: такого события как Change у лейбла нету :)

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

VS.NET на 1 CD?

Привет /*Eduard*/ /*Barkan*/ ! Как живете? Можете?

24-May-04 05:49:28, Eduard Barkan писал к All
*По* *теме* : VS.NET на 1 CD?

EB> Подумываю о пеpеходе на VB.NET, вижу в киоске сабж!

EB> Однако сомнения беpут, pазве можно такого монстpа

EB> закатать на 1 CD, да так чтоб он еще и pаботал?


Можно. Там бyдет одни сетап.exe файл, ты его запyстишь, он тебе минyт
тpидцать бyдет pаспаковываться на винт. Полyчишь диpектоpию pазмеpом 1.2Гб
Оттyда запyстишь сетап, он тебе yстановит VS.NET
Однако для этого желательно иметь XP со всеми сеpвиспаками и пpочими
обновлениями, т.к. этот дистpибyтив часто их не имеет, но без них не
ставится.
MSDN естественно нyжно бyдет покyпать отдельно.

-=> Крепко жму горло, искренне Ваш, Артем Прохоров, MCSD <=-

www.sly2m.da.ru sly2m [@] mail.ru ICQ:35387403

* Origin: Инженер механических душ... (2:5064/5.33)

Re: PopupMenu

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


Привет, Vitaly.

Вы, было дело, писали, 13:42 24.05.04:

VB> К сожалению, пример не рабочий, его нельзя загрузить в среду и выполнить.


Hельзя или ты не знаешь как? Я непроверенного кода не шлю.

Для тебя поясню, что этот код нужно будет добавить в _каждую_ форму,
участвующую в этом непонятном мне нагромождении модальных форм.

VB> Если свести мой пример к такому уровню, то получиться:


VB> Private Sub mnuShowForm_Click()

VB> If popupMenuFlag Then

VB> popupMenuFlag = False

VB> Else

VB> Form2.Show vbModal

VB> End If

VB> End Sub


Видящий да увидит: в этом коде предлагается показывать вторую форму
модально ЧЕРЕЗ РАЗ, на каждый второй клик по пункту меню.


VB> Hет. Вместо таймера можно обойтись булевой переменной.


Hет. Вместо булевой переменной можно обойтись таймером.


BTW Тебе еще не надоело? Мне надоело.


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

Re: Миграция VB5/6 - NET

From: Alexander Trishin <trialFORSPAM [@] trishin.com>


Alexander Asyabrik wrote on Sun, 23 May 2004 10:11:54 +0000 (UTC):

> и тонкостей? Сам .Net не использую, просто мне задали вопрос "Is it

> possible to use this with VB.NET?", а я, блин, толком и не уверен :(.


Всю заботу о работе с COM компонентами берет на себя .NET Framework
создавая Runtime Callable Wrapper.

> работы? Все, что мне нужно, это получить _простейший_ демопроект для

> VB.NET, не инсталлируя этого монстра на мой PC.


Поставь SDK, набери код в notepad и откомпиль через vbc.exe

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

Re: PopupMenu

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


Привет, Alexander.

Вы, было дело, писали, 15:07 24.05.04:


VR> токо вместо таймера предлагаю использовать лейбл

VR> 0.пишем на событие чендж лейбла вызов второй модальной формы


AA> Есть один недостаток: такого события как Change у лейбла нету :)


А ведь я был и вправду уверен, что его нету:(
Теперь вот буду знать, что все-таки есть. Спасибо, люди, открыли глаза.

И тем не менее вариант с лейблом у меня не работает, я проверил.

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

Re: Миграция VB5/6 - NET

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


Привет, Alexander.

Вы, было дело, писали, 17:01 24.05.04:


AT> Всю заботу о работе с COM компонентами берет на себя .NET Framework

AT> создавая Runtime Callable Wrapper.


Спасибо, что отозвался, но ведь ясен пень, что я ничего не понял, раз
не пользуюсь NET. Это надо понимать так, что проблем не возникнет?


>> работы? Все, что мне нужно, это получить _простейший_ демопроект для

>> VB.NET, не инсталлируя этого монстра на мой PC.


AT> Поставь SDK, набери код в notepad и откомпиль через vbc.exe


Я видимо некорректно выразился (тяжелый все-таки день понедельник:)
Мне не нужен скомпиленный файл, мне нужен именно ПРОЕКТ, аналог
VB-шных VBP, FRM и тд , то есть то, что можно открыть без запросов
на конвертацию в среде VB.NET. А компилировать уже будут юзеры.
--
Alexander
* Origin: Talk.Mail.Ru (2:5020/400)

PopupMenu

VR>> токо вместо таймера предлагаю использовать лейбл

VR>> 0.пишем на событие чендж лейбла вызов второй модальной формы

AA>> Есть один недостаток: такого события как Change у лейбла нету :)

AA> А ведь я был и вправду уверен, что его нету:(

AA> Теперь вот буду знать, что все-таки есть. Спасибо, люди, открыли

AA> глаза.

В каком случае оно возникает?


* Origin: 1134 (2:5045/44.13)

Re: Миграция VB5/6 - NET

From: Alexander Trishin <trialFORSPAM [@] trishin.com>


Alexander Asyabrik wrote on Mon, 24 May 2004 14:43:32 +0000 (UTC):

> AT> Всю заботу о работе с COM компонентами берет на себя .NET Framework

> AT> создавая Runtime Callable Wrapper.

>

> Спасибо, что отозвался, но ведь ясен пень, что я ничего не понял, раз

> не пользуюсь NET. Это надо понимать так, что проблем не возникнет?


Hет, ну натыкаются люди на определенные проблемы, но в общем работает
прилично. Медленней, но работает.


>>> работы? Все, что мне нужно, это получить _простейший_ демопроект для

>>> VB.NET, не инсталлируя этого монстра на мой PC.

>

> AT> Поставь SDK, набери код в notepad и откомпиль через vbc.exe

>

> Я видимо некорректно выразился (тяжелый все-таки день понедельник:)

> Мне не нужен скомпиленный файл, мне нужен именно ПРОЕКТ, аналог

> VB-шных VBP, FRM и тд , то есть то, что можно открыть без запросов

> на конвертацию в среде VB.NET. А компилировать уже будут юзеры.


Hу есть там какой-то wizard в VB.NET. Я им пользовался исключительно в
ознакомительных целях еще в бета-версиях. По-идее non-GUI библиотеку
должен преобразовать без проблем. Можно ли его ставить отдельно от VB.NET,
и если да, то как - я не знаю.

Если не хочется ничего переписывать просто возьми tlbimp.exe из .NET SDK,
натрави его на свою ActiveX Dll, получишь обычную .NET assembly которую
можно использовать из VB.NET. Эта сборка по сути - обычная "прокси".

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

Re: Как перехватить?

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 Sun, 23 May 2004 01:39:22 +0400:


AB> Требуется "перехватывать" даблклик юзера по файлу

AB> ассоциированному с моим приложением. Чтобы как, например, в Ворде97

AB> если вызвать 10 документов, то откроются не 10 Вордов, а 1 в котором

AB> эти 10 документов будут открыты.

AB> If App.PrevInstance Then ... я уже сделал.

Из второго запущенного экземпляра находишь первый и передаёшь ему имя файла
любым способом. Способов тыща - сообщения, трубы, мэйлслоты, шареная память
и т.д. Если нужно, могу сбацать пример. Hужно?


With best regards, A. Skrobov. E-mail: tyomitch [@] r66.ru
--

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