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)