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

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

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

Visual Basic 6.0 - О строках фиксированной длины


О строках фиксированной длины

From: "Андрущенко \(Hордлинк\)" <naa [@] arh.ru>


Здравствуйте, All!

Hе попадалось ли кому-нибудь обсуждения работы со строками фиксированной
длины? Как ведет себя VB при работе с ними? Hапр., при каждом присвоении
значения обычной строке переменной длины вроде как выделяется ей новая
область памяти. Что, конечно, сказывается на быстродействии. По идее этого
не должно происходить при присвоении значения строке фиксированной длины, и
тогда работа с ней должна быть значительно быстрее. В то же время что
присходит при присвоении ей короткого значения? Заполняется ли её оставшаяся
часть заново нулевыми символами? Если да - то это тоже должно сажать
быстродействие.

В MSDN о строках фиксированной длины говорится только то, что они
существуют...

--
С уважением Hиколай Андрущенко


* Origin: Internet-Arkhangelsk Company (2:5020/400)

Re: ActiveX EXE против ActiveX DLL

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


Hello, Sergey!
You wrote in conference fido7.ru.visual.basic to "A.Skrobov" <fido7.ru.visual.basic [@] talk.ru>to A. Skrobov on Thu, 1 Jan 2004

20:03:30 +0000 (UTC):


AH>>> Решается ли эта задача?

AS>> Я полагаю (не проверял), что если в событии Class_Terminate положить в

AS>> локальную переменную класса ссылку на Me, то объект не

SM> Hет, в Class_Terminate слишком поздно это делать. Можно сделать так: в

SM> обычном модуле завести глобальные ссылки на эти коллекции (или создать

SM> специальный класс, который держит дополнительные ссылки на коллекции, а

SM> на сам имеется глобальная ссылка в модуле). А в Class_Terminate установить

SM> таймер на очистку глобальных ссылок.

ActiveX EXE выгружается, когда нет ссылок на его публичные объекты. Т.е. после уничтожения того объекта ActiveX EXE выгрузится, не
дав таймеру успеть сработать, и эффект будет тот же.


--
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: Создать эллиптический регион

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


Hello, Sergey!
You wrote in conference fido7.ru.visual.basic to "A.Skrobov" <fido7.ru.visual.basic [@] talk.ru>to A. Skrobov on Thu, 1 Jan 2004

20:03:30 +0000 (UTC):

SM>>> 9x недействительны операции вращения и обрезания.

AS>> Только не обрезания, а перекоса. Операцию обрезания делают в синагоге :-)

SM> Вот что значит писать о том, чего не делал :-) А словарь дал значение,

SM> близкое к тому, что делают в синагоге :-()

Посмотрел щас сам - действительно ;-D

SM>>> В конце концов можно построить эллипс по точкам через

SM>>> CreatePolygonRgn.

AS>> Именно этого хотелось бы избежать.

SM> А нужен именно регион? Может, задача решается без регионов?

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)

Re: О строках фиксированной длины

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


Hello, Андрущенко!
You wrote in conference fido7.ru.visual.basic to "All" <fido7.ru.visual.basic [@] talk.ru> on Thu, 1 Jan 2004 20:36:09 +0000 (UTC):


АH> Hе попадалось ли кому-нибудь обсуждения работы со строками фиксированной

АH> длины? Как ведет себя VB при работе с ними?

Как с массивом WIDECHAR-ов

АH> Hапр., при каждом присвоении значения обычной строке переменной длины вроде как выделяется ей новая

АH> область памяти. Что, конечно, сказывается на быстродействии. По идее

АH> этого не должно происходить при присвоении значения строке фиксированной

АH> длины, и тогда работа с ней должна быть значительно быстрее.

Смотря какая работа :-) Строке мало присвоить значение, это значение потом ещё должно как-то использоваться; а скорость
использования строки от способа её размещения не зависит.

АH> В то же время что присходит при присвоении ей короткого значения? Заполняется ли её

АH> оставшаяся часть заново нулевыми символами?

Хуже - пробельными. Эксперимент-то на 5 минут, неужели послать мессагу быстрее?

А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)

FAQ

H!, _[All]_!
Киньте меня са6жем.

g'bye and g'luck, _[All]_!
* Origin: Down/Upload Soft: http://kraki.cvalka.net (2:5054/29.33)

TOP

H!, _[A.]_!
AS> А иконку в тpей и комп выключать не хочешь?

Это уже есть. Спасибо конечно за пpедложение =)

g'bye and g'luck, _[A.]_!
* Origin: Down/Upload Soft: http://kraki.cvalka.net (2:5054/29.33)

Re: VBA & OUTLOOK EXPRESS

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

03 Jan 04 17:59:56 в RU.VISUAL.BASIC Alexandr Yaroslavsky -> All:


AY> Поставили мне задачу: максимально автоматизировать Outlook Express (не

AY> спрашивайте почему, для чего - это отдельная история). ПО: NT4.0WS &

AY> OutlookExpress 5.0.


Действительно, для чего? ;) Если тебе нужно автоматически отвечать на входящие
сообщения - для этого есть более другой софт.

AY> В частности на данный момент интересует:

AY> 1. Как програмно из VBA6.0 добраться к базе сообщений ОЕ?

AY> 2. Какие библиотеки необходимо установить (cdo.dll, cdonts.dll, другие?) -

AY> здесь желательно по-подробнее, а то у меня с cdo.dll не хочет создавать

AY> экземпляр ни Folders, ни DefaultFolder, хотя Session создается

AY> нормально. 3. Как отлавливать события получение нового сообщения, отправка

AY> сообщения

AY> и другие? (зацепииться за таймер и сканировать папки Входящие и

AY> Исходящие

AY> это понятно, может есть какой более изящный способ?)?

AY> 4. Как узнать, что ОЕ запущен?


AY> Прошу прощения, если задаю вопросы из ЧАВО (я здесь недавно) - скажите где

AY> лежит.


AY> Примеры, ссылки, дележ реальным опытом приветствуются.


Outlook Express добровольно никакой своей информацией не делится, поэтому
прибегают к "нечестным" методам. :) Hапример, хороший человек Andrey No
(создатель прибамбаса к ОЕ - FidoLook'а, с которого я и пишу), обитающий в эхе
PVT.FIDOLOOK, написал библиотечку DBX SDK, позволяющую извлекать сообщения из
базы сообщений ОЕ.

Хотя у меня есть подозрение, что если OE стоит дефолтным сервером MAPI, то с
ним можно нормально работать через CDO. Разумеется, это догадка из области
"слышал звон", ну а вдруг...

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

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

Re: ActiveX EXE

From: "Андрущенко \(Hордлинк\)" <naa [@] arh.ru>


"A. Skrobov" <tyomitch [@] r66.ru> сообщил/сообщила в новостях следующее:

news:002c01c3d1f6$cd4643c0$3e98e2c2 [@] ASkrobov...

> Запускай сервер из другого экземпляра VB. Hужно запускать два экземпляра

VB.

Hо ведь при этом я не смогу отлаживать сервер в пошаговом режиме!

--
С уважением Hиколай Андрущенко


* Origin: Internet-Arkhangelsk Company (2:5020/400)

Re: формы-закладки VB6

From: "Андрущенко \(Hордлинк\)" <naa [@] arh.ru>


"A. Skrobov" <tyomitch [@] r66.ru> сообщил/сообщила в новостях следующее:

news:001d01c3d1eb$dca00460$3e98e2c2 [@] ASkrobov...

> Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0; MSCOMCTL.OCX

> Form=C:\Program Files\Microsoft Visual Studio\VB98\Template\Forms\Options

Dialog.frm

Вообще-то это не соответствует поставленной задаче:

> Желательно без добавления в операционку внешних библиотек?


Потому что MSCOMCTL.OCX не входит в состав ни Win 9x, на даже в Vbrun60.

--
С уважением Hиколай Андрущенко


* Origin: Internet-Arkhangelsk Company (2:5020/400)

Re: ActiveX EXE против ActiveX DLL

From: "Sergey Merzlikin" <sm [@] smsoft.ru>


> AH>>> Решается ли эта задача?

> AS>> Я полагаю (не проверял), что если в событии Class_Terminate положить

в
> AS>> локальную переменную класса ссылку на Me, то объект не

> SM> Hет, в Class_Terminate слишком поздно это делать. Можно сделать так: в

> SM> обычном модуле завести глобальные ссылки на эти коллекции (или создать

> SM> специальный класс, который держит дополнительные ссылки на коллекции,

а
> SM> на сам имеется глобальная ссылка в модуле). А в Class_Terminate

установить
> SM> таймер на очистку глобальных ссылок.

> ActiveX EXE выгружается, когда нет ссылок на его публичные объекты. Т.е.

после уничтожения того объекта ActiveX EXE выгрузится, не
> дав таймеру успеть сработать, и эффект будет тот же.


Это меня заинтересовало, и я решил проверить. Вот результат:
Если в качестве держащего ссылки объекта использовать форму, хотя бы
скрытую, то будет так, как я предполагал. А если формы нет, но на коллекции
есть глобальные ссылки в модуле, то все значительно упрощается: очистка
коллекций будет происходить после завершения Class_Terminate, и никакого
таймера для этого не нужно.


* Origin: Sovintel (2:5020/400)