Visual Basic 6.0 - динамическое созд а ние
Re: динамическое созд а ние
Мы где-то виделись, Gennady?
11 Oct 03 21:40:09 в RU.VISUAL.BASIC Gennady Tarada -> All:
DK>> Dim l As Label
DK>> Set l = Controls.Add("VB.Label", "Label2")
DK>> With l
DK>> .Move 0, 0, 60, 16
DK>> .Caption = "Лейбл 2"
DK>> .Visible = True
DK>> End With
GT> а как события обрабатывать?
GT> Private Sub Label2_Click()
GT> Print "Hello!"
GT> End Sub
GT> ^^^^ не работает
Область описания:
Private WithEvents Label2 As Label
Ивент:
Private Sub Label2_Click()
Любое место: :)
Set Label2 = Controls.Add(...)
ну и далее по тексту.
Если объектов может быть создано неограничено много, и от всех надо ловить
ивенты - тоже есть решение, но я предоставляю право рассказать о нем Андрею
Федорову, так как эту идею услышал от него.
Всего хорошего!
Дмитрий Козырев aka Master
* Origin: Дорогу осилит идущий. (2:5023/11.148)
Re: Защита программ
From: "Igor Evgrafov" <ievgrafo [@] jba.ru>
Hello, Roman!
You wrote to Igor Evgrafov on Fri, 10 Oct 2003 11:02:23 +0400:
IE>>>> Более того я не видел на VB ни одной шаровары, даже
IE>>>> поганенькой... Дело впрочем хозяйское...
RY>>> http://attackie.com/obg.php ;)
[Sorry, skipped]
IE>> Хочется чтоб на некоторые неправильные ответы прога гнусно
IE>> прикалывалась :)
RY> А насчет ответов - могу поделиться исходниками, только у меня винт
RY> умирал, насколько они старые - не знаю. Сделаем СП. ;)
Я тут лет 12 игру Жизнь пишу. Сначала на focal, потом Pascal, потом VB,
потом VС++, теперь вот на C# корячусь %) Есть еще мысля сделать ее
распределенной. Она у меня в качестве подопытного кролика, как появляется
желание язык какой освоить или технологию - я пишу Жизнь %) А утром на
работу и опять ERP, кастомеры, суплайеры и прочие инвойсы...
RY> А вы говорите - нет, нет. ;)
Я говорил не видел. Если уж совсем точно то я имел ввиду то, что для шаровар
VB как то слабо подходит. Оно же конструктор типа Лего. Пока детальки есть
подходящие все хорошо, а как надо необычную детальку - имеешь секс стоя в
гамаке на лыжах... А если проект вздумал расти то тут уже совсем труба -
тушите свет, сливайте воду.
- ---
With best regards, Igor Evgrafov.
* Origin: Cronyx Plus ISP (2:5020/400)
Byte Array(Variant) and API (Part 2)
From: Alexander Asyabrik <belmis [@] mail.belpak.by>
Привет, Master.
Уверен я был, что этот вопрос закрыт, но не тут-то было.
Hапомню: была нужна функция, которая, получая массив байт внутри
переменной типа вариант, получала указатель непосредственно на
массив внутри варианта и передавала его в АПИ функцию для записи в
файл. Что с вашей помощью и было успешно реализовано.
И тут гром с ясного неба: пользователю потребовалось передавать
массив не внутри варианта, а объявленный как () As Byte, что я,
дурень, в спешке и не удосужился проверить. А оно, блин, вылетает
вместе с VB :(
Получается вот что: моя функция спокойно принимает в аргумент,
объявленный As Variant, этот массив, но этот аргумент внутри
функции ведет себя и не так, как переменная Variant, и не так как
'чистый' байтовый массив. В частности для полученного аргумента не
удается получить указатель на pvData структуры SAFEARRAY
(возвращается всегда 0). Попытка записи в файл, используя
классическую передачу в АПИ функцию первого байта массива, тоже
укладывает VB на лопатки:( И что здесь, на самом деле, представляет
из себя аргумент внутри функции? Я не въезжаю, чес слово...
Может, что подскажешь в обход проблемы? Как в этом случае получить
указатель на массив?
--
С уважением, Alexander
* Origin: Talk.Mail.Ru (2:5020/400)
Re: Byte Array(Variant) and API (Part 2)
From: "A. Skrobov" <tyomitch [@] r66.ru>
Hello, Alexander!
You wrote in conference fido7.ru.visual.basic to "All" <fido7.ru.visual.basic [@] talk.ru> on Sun, 12 Oct 2003 21:32:54 +0000 (UTC):
AA> Получается вот что: моя функция спокойно принимает в аргумент,
AA> объявленный As Variant, этот массив, но этот аргумент внутри
AA> функции ведет себя и не так, как переменная Variant, и не так как
AA> 'чистый' байтовый массив. В частности для полученного аргумента не
AA> удается получить указатель на pvData структуры SAFEARRAY
AA> (возвращается всегда 0). Попытка записи в файл, используя
AA> классическую передачу в АПИ функцию первого байта массива, тоже
AA> укладывает VB на лопатки:( И что здесь, на самом деле, представляет
AA> из себя аргумент внутри функции? Я не въезжаю, чес слово...
В этом случае третий DWORD варианта указывает не на SAFEARRAY, а как раз на первый байт массива.
Как различать эти два случая, сам догадаешься, или подсказать?
With best regards, A. Skrobov. E-mail: tyomitch [@] r66.ru
--
* Origin: Talk.Mail.Ru (2:5020/400)
астраиваемая панель инструментов
Привет всем !
А где можно найти эти контролы, описание к ним и кряки:
DataDynamics ActiveBar
Sherridan Toolbar
А еще, кто знает где достать ActiveX для использования в программе прилипающих
(dockable) окон. Hапример как в самом VB. У меня есть причем неплохой Dockable
Pro 2: окошки прилипаются в точности как в VB, но только у меня trial version, а
крак я найти нигде не смог.
Спасибо за внимание.
* Origin: WinPoint 95 is a girls best friend! (2:5059/28.35)
Векторный графический редактор
Hello !
У кого-нибудь есть тутор или пример сабжа, или где сие можно найти (URL)
Особенно интересует как сделать прокрутку области рисования и векторное
увеличение/уменьшение.
PS: Все процедуры рисования и проч должны быть реализованы с помощью API
функций, а иначе тормозной редактор получится ;)
Bye !
* Origin: WinPoint 95 is a girls best friend! (2:5059/28.35)
Re: астраиваемая панель инструментов
Мы где-то виделись, Andrey?
12 Oct 03 14:14:56 в RU.VISUAL.BASIC Andrey Shmelev -> All:
AS> А где можно найти эти контролы, описание к ним и кряки:
AS> DataDynamics ActiveBar
www.datadynamics.com
astalavista.box.sk (кряк)
AS> А еще, кто знает где достать ActiveX для использования в программе
AS> прилипающих (dockable) окон. Hапример как в самом VB.
Тот же DataDynamics. Просмотри все его семплы.
Всего хорошего!
Дмитрий Козырев aka Master
* Origin: Дорогу осилит идущий. (2:5023/11.148)
Re: Byte Array(Variant) and API (Part 2)
Мы где-то виделись, Alexander?
13 Oct 03 01:32:54 в RU.VISUAL.BASIC Alexander Asyabrik -> All:
AA> И тут гром с ясного неба: пользователю потребовалось передавать
AA> массив не внутри варианта, а объявленный как () As Byte, что я,
AA> дурень, в спешке и не удосужился проверить. А оно, блин, вылетает
AA> вместе с VB :(
Hе понимаю, ты ведь скриптовый компонент пишешь? А разве там есть Byte?
Или, если это компонент для программ на чистом VB, то тогда почему не
получается принять аргумент как () As Byte?
В общем, пример кода надо бы.
Всего хорошего!
Дмитрий Козырев aka Master
* Origin: Дорогу осилит идущий. (2:5023/11.148)
Re: Byte Array(Variant) and API (Part 2)
Мы где-то виделись, A.?
13 Oct 03 06:43:18 в RU.VISUAL.BASIC A. Skrobov -> Alexander Asyabrik:
AS> В этом случае третий DWORD варианта указывает не на SAFEARRAY, а как раз
AS> на первый байт массива. Как различать эти два случая, сам догадаешься, или
AS> подсказать?
Я что-то не нашел соотстветствующее значение vt. Hаиболее близко к нему
VT_ARRAY (но это первый случай) и VT_BYREF (но он только для одной
переменной).
Всего хорошего!
Дмитрий Козырев aka Master
* Origin: Дорогу осилит идущий. (2:5023/11.148)
Re: Byte Array(Variant) and API (Part 2)
From: "A. Skrobov" <tyomitch [@] r66.ru>
Hello, Dmitriy!
You wrote in conference fido7.ru.visual.basic to "A.Skrobov" <fido7.ru.visual.basic [@] talk.ru>to A. Skrobov on Mon, 13 Oct 2003
08:23:42 +0400:
AS>> В этом случае третий DWORD варианта указывает не на SAFEARRAY, а как раз
AS>> на первый байт массива. Как различать эти два случая, сам догадаешься,
AS>> или подсказать?
DK> Я что-то не нашел соотстветствующее значение vt. Hаиболее близко к нему
DK> VT_ARRAY (но это первый случай) и VT_BYREF (но он только для одной
DK> переменной).
Именно он, VT_BYREF + VT_UI1 (8209)
With best regards, A. Skrobov. E-mail: tyomitch [@] r66.ru
--
* Origin: Talk.Mail.Ru (2:5020/400)