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

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

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

Visual Basic 6.0 - TreeView из mscomctl.ocx


Re: TreeView из mscomctl.ocx

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

SZ*> Был сетап проги на VB. Все работало. Прошел год, в программу сделали

SZ*> добавления, пересобрали прогу и дистрибутив. Теперь на отдельных

SZ*> машинах при отображении формы, содержащей TreeView из mscomсtl.ocx

SZ*> прога мертво зависает. Версии ocx в старом и новом сетапе совпадают.

SZ*> Пробовал сетап на чистых машинах vmvare W2k и XP - работает. А вот у

SZ*> заказчика на неск. тачках - виснет. Что можно сделать ?


Тут есть одна загвоздка. Если в программе одновременно используются контролы из COMCTL?32.OCX и MSCOMCTL?.OCX то возможны коллизии в форме как бы немотивируемых обломов и повисаний.

Решения такие: отказаться от одной из OCX, если это неприемлемо, значит где можно указывать конкретную бибилиотеку, типа не Dim itmx as ListItem а Dim itmx as MSComctlLib.ListItem и т.п.

Иногда спасает удаление файла прожекта и создание его завово, создать на свежей форме дизайн прежней формы, а код перенести.


Удачи!

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

Re: обработка двоичных файлов?

Здравствуй, A.!

AS*>>> Да нет же, есть разница.

AS>> Уболтал. Разница есь. ;) Разницы нет по первому впечатлению. Тот же

AS>> ифейс, те же окна...

AS*> Точно так же, я когда впервые увидел Win98, долго не мог понять, чем

AS*> же он круче 95 - тот же ифейс, те же окна...

AS*> А на самом деле, многим.


И чем 98 круче 95? :) По сути, так сказать. Кроме IE4, дополненной бибилиотеки драйверов, дополнительными функциями API?


Удачи!

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

Re: Ресурсы по VBDOS

Здравствуй, A.!

AS>> Тебе сам VBDOS?

AS*> Сам у меня есть, я искал какие-нибудь "сайты поклонников",

AS*> пользовательские компоненты и т.д. Hе нашёл. Почему его никто не

AS*> любит?


Субъективно - после TV и интернфейсом NU#8, который стал в текстмоде законодателем дефакто, VBDOS не смотрится. Даже если контроли рисовать в 1 строку, интерфейс получается некузявым.
Это раз. Два - непродуман IDE, в частности переходы между дизайнером и редактором. Hеобходимость настраивать IDE каждый раз при старте VBDOS...

AS>> Кстати, если ты на нем не писал - не советую. После VBWin привыкнуть

AS>> нельзя.

AS*> Писал :-) После QB - нормально.


Если только после QB.


P.S. Так он тебе, VBDOS всмысле, нужен?


Удачи!

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

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: очередной глупый вопрос про классы...

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


Hello, Alexander!
You wrote in conference fido7.ru.visual.basic to "Dmitriy Kozyrev" <fido7.ru.visual.basic [@] talk.ru>to Dmitriy Kozyrev on Sat, 14 Feb

2004 12:00:58 +0300:

AS>>> В EXE постоянно звать проперти AxDLL нехорошо, разбухает код,

AS>>> замедляется работа. Как поступить?

DK*>> Если нельзя переделать AxDll,

AS> Можно. Ты не уловил суть. Обращаться к паблик переменной быстрее, нежели

AS> к свойству объекта. Это критично, если вызовы множественные.

Ерунда. Публичные переменные классов реализуются _именно_ как пара процедур Let/Get, так что никакой разницы.


--
To prevent your mail from being filtered out, simply quote this line in your message body. A464E022
* Origin: Talk.Mail.Ru (2:5020/400)

Re: интимная связь VB и C

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


Hello, Dmitry!
You wrote in conference fido7.ru.visual.basic to "A.Skrobov" <fido7.ru.visual.basic [@] talk.ru>to A. Skrobov on Fri, 13 Feb 2004

21:10:38 +0300:

AS>> Важно отметить, что cdecl-функция _без_паpаметpов_ вызывается коppектно.

DS> да, я знаю, ибо __cdecl/__stdcall как pаз и опpеделяют как кладутся в

DS> стек паpаметpы, а ежель их нет, то --> без pазницы

FTR, cdecl-функция с _1_ параметром тоже вызывается корректно.
Изврат, через который их можно вызывать - это формирование в байтовом массивее переходника и затем его вызов через CallWindowProc.
Hо написать переходник на сях и быстрее, и проще, и лучше.


--
To prevent your mail from being filtered out, simply quote this line in your message body. A464E022
* Origin: Talk.Mail.Ru (2:5020/400)