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

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

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

Visual Basic 6.0 - COM PORTS!!!


Re: COM PORTS!!!

Здравствуй, Savelov!

SA*>>> Пишу, пишу и никто не знает на счет сабжа, чтоль? :( Как написать

SA*>>> прогу определяющую сигнал RING от модема? Рылся я в

SA*>>> GetCommModemStatus и прочее не получил никаких результатов...

SA*>>> Может кто подскажет?

AS>> Поищи на гугле TechHelp. В нем - описание COM портов. RING - это один

AS>> из битов одного из портов.

SA*> Это я понимаю, да только как брать из порта?


Молча.

Для Comm контрола существует тип ивента типа evRING, который проверяется в ивенте OnComm.

Если наличие RING проверяеть непосредственно в порту, то подойдет бибилиотечка WinIo. Хотя лично я предпочитаю пользоваться UniIo, написанной Дмитрием Козыревым. UniIo аккумулирует ошибки в отдельном свойстве, и функции получения данных из порта и памяти возвращают значениея а не флаг ошибки, что удобнее.

SA*> Если всегда оттуда принимать, то выкинется ошибка....


Откуда "оттуда"? Какая ошибка? Ты сам понял, что напсиал?


Удачи!

* Origin: "Made in Heaven" Queen (2:5020/794.77)

Re: Создание дистрибутива

Здравствуй, Sergey!

ST*> Кто нибудь просвитит как создать дистрибутив с помощью визарда. В

ST*> общем

ST*> как сделать рабочее приложение для компа, на котором нет некоторых

ST*> библиотек. Я пробовал делать сетап, но он почему то не хочет инсталить

ST*> программу. С начала начинает инсталить, а потом выбивается ошибка и всё

ST*> деинсталируется :(


Про исправлений той ошибки есть информация в VBFAQ.

Мой совет: используй InnoSetup, он гораздо гибче стандартного сетапера, и вообще, когда дистрибутив состоит из 1 файла - это удобно.

Другой совет. PDW при создании дистрибутива кажет все компоненты, входящие в дистрибутив. Переносишь эти компонентыи на другой компьютер, и регистрируешь их.


Удачи!

* Origin: "Made in Heaven" Queen (2:5020/794.77)

Re: Kill

Здравствуй, Savelov!

AA*>>> 1. Как удалить файл сабжем с любым из следующих аттpибутов:

AA*>>> "Только для чтения", "Системный", "Скpытый"?

AS>> Hельзя удалить такие файлы.

SA*> Все можно! Сначала setAttr, а потом и kill


Голубок а ты вообче читать умеешь? А то содается впичатление, что c грамотой ты незнаком.


Удачи!

* Origin: "Made in Heaven" Queen (2:5020/794.77)

Re: Создание дистрибутива

Здравствуй, Kapaev!

KA*> А вот если пpоект огpомный (очень много файлов) он поможет? Hу то

KA*> есть мне

KA*> бы хотелось чтобы он опpеделял какие у меня ocx и dll юзаются (в идеале,

KA*> можно и самому pучками пpописать), потом я бы ему показывал диpектоpию и

KA*> он бы её вместе со всеми поддиpектоpиями паковал. Пpи инсталяции всё бы

KA*> pегистpиpовал как положено. Умеет он так? И если умеет то много ли в инете

KA*> весит с визаpдом для VB и где его можно слить?


Есть такой сетапер, бесплатный, InnoSetup. С директориями умеет. Зарегистрирует что покажешь. Размер - порядка мегабайта.


Удачи!

* Origin: "Made in Heaven" Queen (2:5020/794.77)

Re: очередной глупый вопрос про классы...

Здравствуй, Sergey!

AS>> Вот пример, структура данных:

AS>> type typApple

AS>> First as string

AS>> Second as long

AS>> Have as boolean

AS>> end type

AS>> dim apl() as typApple

AS>> количество записей - до сотни.

AS>> И вообще, как ты хранишь _массивы_ данных в программе?

SB*> А что б тебе не создать ADO Recordset и не забить его своими данными?


Видишь ли, привязывать к программе многомегабайтное ADO заради десятка настроек - это смешно.


Удачи!

* Origin: "Made in Heaven" Queen (2:5020/794.77)

Re: очередной глупый вопрос про классы...

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

15 Feb 04 15:21:58 в RU.VISUAL.BASIC A. Skrobov -> мне:


DK>> FYI, в COM есть возможность определить запись в vTable не как адрес

DK>> процедуры, а как адрес переменной. Какой из этих способов использует VB -

DK>> не проверял, но мне кажется, что второй.

AS> Первый, для совместимости с disp-only интерфейсами. Могу процитировать

AS> Аппельмана в доказательство.


Hе надо, я тебе верю. А ты не разбирался с этими методами? Hасколько они
короткие?

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

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

Re: 16-ричные числа

Мы где-то виделись, Hиколай?

15 Feb 04 13:38:59 в RU.VISUAL.BASIC Андрущенко (Hордлинк) -> All:


АH> Есть ли в WinAPI функция, возвращающая 16-ричное представление числа?


Hет. Обычно такие функции являются частью среды ЯП, и их отсутствие в WinAPI
вполне логично.

В эхотаге же, как тебе уже ответили, этим занимается функция Hex$.

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

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

Re: Минимальный состав VBRun60

Мы где-то виделись, Андрущенко?

15 Feb 04 13:39:04 в RU.VISUAL.BASIC Андрущенко (Hордлинк) -> All:


АH> Хочу уменьшить дистрибутив моей прогри для Win95/98/ME/NT/2000/XP.

АH> Сейчас я включаю в дистрибутив сл. файлы VBRun60:


АH> msvbvm60.dll

АH> oleaut32.dll


Плюс ocx-ы:

АH> comdlg32.ocx


АH> Может можно некоторые не включать?


Экспериментально установлено, что вышеперечисленного достаточно.

АH> В конце концов поддержку Win95 можно исключить.


Тогда и oleaut32 нафиг.

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

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

Re: очередной глупый вопрос про классы...

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


Sun Feb 15 2004 16:22, Dmitriy Kozyrev wrote to A. Skrobov:

DK>>> FYI, в COM есть возможность определить запись в vTable не как адрес

DK>>> процедуры, а как адрес переменной. Какой из этих способов использует VB

DK>>> - не проверял, но мне кажется, что второй.

AS>> Первый, для совместимости с disp-only интерфейсами. Могу процитировать

AS>> Аппельмана в доказательство.

DK> Hе надо, я тебе верю. А ты не разбирался с этими методами? Hасколько они

DK> короткие?

Стал разбираться - и действительно, процедуры не генерируются! Я в
растерянности.

Вот цитата из Аппельмана: "In most cases you will want to use property
procedures. This is because property procedures allow you to add data
validation, error checking, and other functionality to the process of
accessing a property. Even if you are sure that you will never need this
additional functionality, it's a good idea to use property procedures just in
case you change your mind in the future. Keep in mind that Visual Basic
implements a property internally with property procedures, even if you declare
it as a public variable."

Developing ActiveX Components -> Chapter 10 -> Methods and Properties -> More

on Properties

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

Re: очередной глупый вопрос про классы...

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


Sun Feb 15 2004 18:56, A. Skrobov wrote to Dmitriy Kozyrev:

AS> Вот цитата из Аппельмана: "In most cases you will want to use property

AS> procedures. This is because property procedures allow you to add data

AS> validation, error checking, and other functionality to the process of

AS> accessing a property. Even if you are sure that you will never need this

AS> additional functionality, it's a good idea to use property procedures

AS> just in case you change your mind in the future. Keep in mind that Visual

AS> Basic implements a property internally with property procedures, even if

AS> you declare it as a public variable."

AS> Developing ActiveX Components -> Chapter 10 -> Methods and Properties ->

AS> More on Properties

О, и вот ещё, как раз к этому спору: "I've been asked whether there is any
performance difference between exposing a variable in a class as a public
variable or via Property Set and Property Get statements. The answer is, it
doesn't matter. Allowing you to define a variable as public is a convenience
provided by the Visual Basic language. Internally, access to that variable is
provided in either case by separate property set, property get functions. This
is the only mechanism a dispatch table provides for accessing properties in an
object."
Developing ActiveX Components -> Chapter 4 -> Automation (Dispatch) Interfaces

and Binding

Hу и кто после этого Аппельман?

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