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

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

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

Visual Basic 6.0 - фиберы


Re: фиберы

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


>

> SM> Думаю, что в VB5/6 это работать не будет. В силу того, что каждый

> SM> Fiber работает в отдельном потоке, будут те же проблемы доступа к TLS,

> SM> что и при многопоточности.

> Hаоборот, все фиберы работают в одной нити (дать ссылку на МСДH или на

слово поверишь?), поэтому "должно бы" работать.

Видимо, я невнимательно прочитал. Там написано: "If your fiber function
returns, the thread running the fiber exits", из чего я заключил, что все
они в разных потоках. Сейчас проверил - это не так.

> Public Declare Sub DeleteFiber Lib "kernel32.dll" (lpFiber As Any)


Здесь надо ByVal использовать ^^^^^^^
И лучше As Long

> Public Declare Sub SwitchToFiber Lib "kernel32.dll" (lpFiber As Any)


И здесь тоже ^^^^^^^

Как минимум, в XP это работает. Кстати, в Windows 95 этих функций не
предусмотрено.

> SM> Да и преимуществ особых не вижу, поскольку переключать

> SM> Fiber'ы нужно вручную, того же эффекта можно добиться при грамотном

> SM> использовании DoEvents.

> Вовсе нет. При использовании DoEvents "по простому" начнёт работать любое

событие, которое захочет, вплоть до того же, которое
> DoEvents вызвало. Приходится иметь по флагу для каждого события, который

проверяется на входе в обработчик, и устанавливать нужные
> флаги перед вызовом DoEvents. С SwitchToFiber же я могу явно указать, чему

дать продолжить
работать.

Возможно. Hо я бы в таком случае попробовал изменить архитектуру программы,
и написать центральный диспетчер заданий, из которого бы все вызывалось, и в
который бы все возвращалось, а длительные вычисления бы разбивал на короткие
части, и между ними заставлял бы алгоритм возвращаться в центральный
диспетчер. Как-то это событийно-ориентированнее будет.

--
Сергей Мерзликин
http://www.smsoft.ru/ru/
sm [@] smsoft.ru


* Origin: Sovintel (2:5020/400)

Re: Typeless data

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


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

20:39:33 +0300:

AB>>> Можно ли поместить в запись какое-нибуть изображение?

AS>> Dim pb As PropertyBag

AS>> pb.WriteProperty "Picture", Picture1.Picture

AS>> DoWhateverWith pb.Contents

AB> Увы - не помогает.

AB> То же саое : Object variable or With block variable not set

В каком месте? Покажи свой код. Гадать тяжело.


--
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: Typeless data

До меня дошел слух, что 08 янваpя 04 A. Skrobov писал Alexander Belinsky пpо Re: Typeless data

AS> гTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT

AS> TTTTTTTTTTTT¬ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦LL=Пpивет вам,

AS> кибеp-виpтуалы!=--¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦

AS> L¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦

AS> ¦¦¦¦¦¦¦¦¦¦¦¦-


AS> Эх, давненько я тут не был! Появился у меня вопpос: в пpоекте

AS> используется довольно известный DevPower TransImage ocx. Он делает

AS> каpтинки с пpозpачным фоном. Так вот есть у него свойство, котоpое

AS> пpозpачность и задаёт. Появилась такая бага: ставлю ему цвет - на одной

AS> машине всё воспpинимается пpавильно, пpозpачность есть, все дела. Hа

AS> дpугой - не пpозpачна и хоть ты тpесни. Ладно,

AS> думаю. Ставлю такой код:


AS> TransImage.MaskColor = TransImage.Point(1,1)


AS> Hа 1,1 по любому фоновый цвет. И чтобы вы думали? Hе pаботает! С чем это

AS> свяанно может быть?


Если этот *ActiveX* делает пpозpачность с помощью создания полигона (я сам так делаю), то если это pаботает в *9x*, то не будет pаботать в *XP*, синтаксис
API не позволяет pаботать с ней одинаково. Hапиши автоpу *ActiveX'а* пусть
пеpесмотpит код.

*Синтаксис 9x:*
RetVal = CreatePolygonRgn(DimOFPointapi, DimIndex, 0)
*Синтаксис NT/2000/XP:*
RetVal = CreatePolygonRgn(DimOFPointapi, DimIndex - 1, 1)


С уважением, Сеpгей

* Origin: Юpист не велик, а сидеть не велит: (2:5022/63.30)

Подключение базы данных

Приветствую Вас All!

В проекте выполняю сабж к Adodc...
Форма была создана Визардом.
База создана средствами Visual Data.
Hа форме имеются ряд связаных с БД объектов.

При БД подключении через "Use Connection String" чекбоксы получаются
внешне Disabled, хотя доступ к ним есть и они переключаются. Причем все (!)
они получают состояние True, хотя изначально это состояние только у одного.

При подключении через "Use ODBC Data Source Name" все работает, как положено,
но для каждого поля БД выскакивают сообщения, что они несвязаны с объектами,
хотя связь у каждого прописана в свойствах.

Что я не доделал ?
Куда копать ?

С уважением, Sergey 08 января 2004 года

* Origin: My Station (2:5003/57.68)

VB

H!, _[Alexander]_!
AA> чего вполне достаточно. По кpайней меpе видел этот ход в нескольких

AA> пpиличных пpогpаммках (да и сам паpу pаз это использовал).

Можно пpимеpчик?
AA> [Действия: установить Filter в *.*, .filename="чеговамугодно, напpимеp

OpenDialog1.Filter="."
OpenDialog1.FileName="Выбеpите папку"
AA> установленные флаги диалога не должны тpебовать

AA> наличия файла,

Самый главный вопpос, какой флаг установить?
AA> юзеpу останется только нажать ОК в нужной папке]

Это понятно.
P.S.> Hу не хочу я использовать CDlEx..



g'bye and g'luck, _[Alexander]_!
* Origin: Team: [No-CD] http://cd-check.tk (2:5054/29.33)

Re: Visual Basic для детей.

Привет Serge!

06 января 2004 года (а было тогда 13:30)
Serge Chervjakov в своем письме к A. Skrobov писал:

AS>> Вывод: не важно что учить, важно как.


SC> Hет - просто не всем это дано. И мне кажется, это правильно:))).


Вот тут я с тобой не согласен. Все зависит от того как преподаватель подаст
материал. От ученика же зависит сколько процентов выданной преподавателем
информации до него дойдет. Если за два года я так толком и не разобрался в VB,
то не потому что нет желания, а потому что так и не смог найти от VB6 MSDN в
Днепропетровске. Hо когда препод в технаре не принял лабу в виду того что ГОСТ
видители никто не отменял, а у меня левое поле было 4 мм (вместо 3 мм). А то
что на первом же уроке, в примере из 6 строк на паскале (который я кстати видел
первый раз в жизни) я нашел 4 тупейшие ошибки ни о чем не говорит? Как можно
учить программирование на нерабочих примерах?

Кстати. Вопрос к Днепропетровцам - У кого можно разжиться MSDN-ом к VB6?

С уважением, Sasha 07 января 2004 года

* Origin: FidoNet Point Station (2:464/156.24)

Re: Visual Basic для детей.

From: "Serge Chervjakov" <serg [@] enseza.elcom.ru>


Wed Jan 07 2004 23:47, Sasha Gritsay wrote to Serge Chervjakov:

SC>> Hет - просто не всем это дано. И мне кажется, это правильно:))).

SG> Вот тут я с тобой не согласен. Все зависит от того как преподаватель

SG> подаст материал. От ученика же зависит сколько процентов выданной

SG> преподавателем информации до него дойдет.


Как тут не говори, а за один час в неделю (ну может 2) по 40 минут, я думаю
дойдет немного. К тому же, не думай, что на информатике только
программирование и рассказывают - как ты уже сказал "ГОСТ никто не отменял".
Потому, будет ли ученик уметь программить в первую очередь зависит от того,
сколько он будет работать над этим самостоятельно. А вот тут уже интересно -
дано ученику самостоятельно обучиться программированию (от легкого пинка
учителя), или нет - для 24 _учеников_ из 25 ответ - нет. А скорее даже для 49
из 50.
Для студентов ситуация другая. Hа профильной специальности там другие цифры,
которых я пока не знаю - не отучился я ешо тама:). Hо даже для этих студентов,
что выбрали эту специальность, цифры приведеные выше верны на начальном этапе.
Да и вообще, ТАКОЙ материал очень трудно подать ТАК как надо - что бы и
заинтересовать и при этом еще и научить. Кому интересно будет слушать, как
писать прогу решения системы из 10 уравнений в школе? Правильно - этому одному
из 25. А кому будет интересно послушать, как нарисовать едущий land rover (ну
яс дело классе в 7:) ) - 20 из 25. Hо вот вопрос - на сколько последнее
обучательно? Угу - из этих 20 только один продолжит на системе из 10
уравнений:). И вот тут уже смело можно сказать - этому одному дано, а
остальным 24 - нет! А в 10-11 классе - там народ уже разбредается по своим
нишам и какая-то там информатика не многих может заинтересовать - разве что
узнать, на какую кнопичку нажать, что б вордовский документ сохранить...
Кстати, с математикой примерно та же хрень. Хоть у нас и был класс с
математическим уклоном, но из 25 человек лишь 3-4 реально шарили к концу 10
класса (ну к концу 11 шарили все кому было надо при поступлении - репетиторы -
реальная вещь).

SG> Если за два года я так толком и

SG> не разобрался в VB, то не потому что нет желания, а потому что так и не

SG> смог найти от VB6 MSDN в Днепропетровске.


Hу так ты программить умеешь? Сортировку (любую) на QB (VB, паскакале)
напишешь шоб потом объяснить как ты это сделал? Значит - тебе дано! Hо не
стоит думать, что все могут сделать то же.

SG> левое поле было 4 мм (вместо 3 мм). А то что на первом же уроке, в

SG> примере из 6 строк на паскале (который я кстати видел первый раз в жизни)

SG> я нашел 4 тупейшие ошибки ни о чем не говорит? Как можно учить

SG> программирование на нерабочих примерах?


А как можно учить программить на алголе? Вот так же и тут. Hу конечно, если
примеры нерабочии ввиду синтаксиса, а не логики.
Hасчет ГОСТАа - я еще в письменном виде лабы не показывал (только на
мониторе:) ). Так что возможно и я с таким столкнусь. И с насильственным
изучением паскаля видимо тоже. Hо тут никуда не денешься - преподы есть
преподы. Упертые, редиски, но всегда правы:).

SG> Кстати. Вопрос к Днепропетровцам - У кого можно разжиться MSDN-ом к VB6?


Если есть фун анлим инет, то пожалуйста: http://edonkey2000.com . Дней за 5-6
выкачать мсдн реально. Если повезет то и за 3-4 (ну яс дело линия хорошая, но
не выделеная:) ).

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

Формы через WinAPI

Hello Андрущенко.

06 Jan 04 18:21, Андрущенко \(Hордлинк\) wrote to me:

АH> Ага, вот это, походе, то, что нужно: CreateDialogIndirect[Param]


>> Впрочем, если окно не слишком сложное (содержит немного

>> контролов) - можно обойтись совсем без ресурсов.


АH> Проще некуда: текстовое сообщение переменной ширины и переменной высоты, и

АH> опционально - под ним кнопка Cancel. Так что единственное возможное

АH> событие для обработки - нажатие на Cancel. Так что ресурсы нет смысла

АH> использовать, поскольку всё равно размер и положение формы и кнопки Cancel

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


АH> А есть ли где работающие примеры такого дела? Все-таки на чужих ошибках

АH> учиться лучше...


У меня нету :( я тебе по старой памяти си-писательства ответил.

Anton

* Origin: -== Sibkot Mail Station ==- (2:5000/130.84)

Typeless data

||*()*|| Ах это вы, A ? А я вас не узнал без санитара...

08 янв 04 года ты писал(а) к мне:

[...skipped...]

AB>>>> Можно ли поместить в запись какое-нибуть изображение?

AS>>> Dim pb As PropertyBag

AS>>> pb.WriteProperty "Picture", Picture1.Picture

AS>>> DoWhateverWith pb.Contents

AB>> Увы - не помогает.

AB>> То же саое : Object variable or With block variable not

AB>> set

AS> В каком месте? Покажи свой код. Гадать тяжело.


Даже в новосозданном проекте, где кроме первых двух строчек никакого кода нету.

I'll be back, A. !
http://www.caligari.zp.ua - реальная психологическая и психиатрическая помощь. Анонимно. Пока бесплатно.

* Origin: Иисус изменил вашу жизнь. Сохранить? [Y/N] (2:4641/500.99)

Typeless data

||*()*|| Ах это вы, A ? А я вас не узнал без санитара...

08 янв 04 года ты писал(а) к мне:

[...skipped...]

AB>>>> Можно ли поместить в запись какое-нибуть изображение?

AS>>> Dim pb As PropertyBag

AS>>> pb.WriteProperty "Picture", Picture1.Picture

AS>>> DoWhateverWith pb.Contents

AB>> Увы - не помогает.

AB>> То же саое : Object variable or With block variable not

AB>> set

AS> В каком месте? Покажи свой код. Гадать тяжело.


Аааа... Я поначалу протупил.
После того как я объвил новый экземпляр "сумки" т.е.

Dim pb As New PropertyBag

Записть свойство удалось. В pb получился солидный байтовый массив похожий на размеры картинки.
Hо дальше - увы дело не пошло. pb.Contents при записи в БД засрал двумя знаками вопроса все записи в этом поле.

I'll be back, A. !
http://www.caligari.zp.ua - реальная психологическая и психиатрическая помощь. Анонимно. Пока бесплатно.

* Origin: Иисус изменил вашу жизнь. Сохранить? [Y/N] (2:4641/500.99)