Visual Basic 6.0 - VB6: Events & CreateObject()
Re: VB6: Events & CreateObject()
From: "Сулейманов Тимур" <timson [@] npf-geofizika.ru>
Привет всем. Спасиба за участие ...
В общем то случай таков:
Классы, к экземплярам которых нужно приделывать события -
классы чтения данных из файлов в различных форматах.
Есть программа на VB, которая создает экземпляры этих
классов и вызывает всегда один и тот же метод - LoadFromFile.
Классы могут иметь много разных методов и свойств, но LoadFromFile
иметь обязаны. В реестре в опр. ключе хранится список GUID-ов,
который дополняется при регистрации каждого из классов, а "программа на VB"
сканит список, получает набор форматов и предоставляет пользователю
возможность
выбрать нужный формат и прочитать данные.
* Origin: OOO BIS (2:5020/400)
Re: VB6: Events & CreateObject()
From: "Сулейманов Тимур" <timson [@] npf-geofizika.ru>
Для хранения данных в памяти есть обобщенный класс, все объекты
записывают данные в него. Естественно, раннее
связывание не подходит, так как списох может дополняться и на этапе
компилляции "программы на VB" известен всего лишь один класс формата (на
сегодня).
В общем то все бы хорошо, и даже все уже реализовано :-), кроме:
событие нужно для ПРОГРЕССБАРА при чтении/записи файлов большого объёма.
Hе думал ни гадал, что так непросто это сделать (событие)
когда проектировал всю эту ботву...
А кто про IConnectionPoint глубже копал, отзовитесь???
Конечно, напрашивается решение:
Объявить во независимой библиотеке абстрактный базовый класс с событием,
статически подключать его к каждой библиотеке с классами форматов
и реализовывать его наследников... Видимо так и придется делать.
С уважением, Сулейманов Тимур
--
Timson
* Origin: OOO BIS (2:5020/400)
Re: Basic и Asm
Привет Alex_Chernyshov !
In msg of {06 Nov 31}, Alex_Chernyshov writes to All:
AC> Подскажите, пожалуйста. Как, вызывая ассемблерную процедуру оператором
AC> CALL ABSOLUTE передать в нее, а на выходе получить значения регистров?
Hе увеpен что именно то что тебе надо, но похожее видел на http://snc.mail333.com/vbasic.html
Всего и побольше ! Eugeny 08 Nov 03, 00:23
* Origin: Hа процессорах Intel Celeron имеется кэш на 0 КБ. Compaq (2:5040/51)
Re: хранить имя формы в переменной
From: "Александр 'SUre' Подкопаев" <podkopaev [@] lsid.ru>
"Dmitry Feodorov" <Dmitry.Feodorov [@] p6.f1450.n5030.z2.fidonet.org>
сообщил/сообщила в новостях следующее:
news:1068189011 [@] p6.f1450.n5030.z2.FidoNet.ftn...
> Здоровья тебе, #/Александр/#.
> XC: #RU.VISUAL.BASIC, #CC.MY.ECHOMAIL
>
> 05 Hоя 03, в 11:15, *Александр 'SUre' Подкопаев* писал я к _All_:
>
> АП> Осваиваю язык, и возник вот такой вопрос - можно ли положить имя
формы
>
> А зачем имя? Hе проще ли хранить ссылку на саму форму в переменной типа
Form
> (ну или образованных от нее)?
Затем что имя можно хранить "где угодно" без проблем - массив строк,
таблица в базе.
* Origin: Togliatti Telecom News Server (2:5020/400)
Re: хранить имя формы в переменной - уточнения
From: "Александр 'SUre' Подкопаев" <podkopaev [@] lsid.ru>
"Dmitriy Kozyrev" <Dmitriy.Kozyrev [@] p148.f11.n5023.z2.fidonet.org>
сообщил/сообщила в новостях следующее:
news:1536807927 [@] p148.f11.n5023.z2.ftn...
> Мы где-то виделись, Александр?
>
> 06 Nov 03 13:15:26 в RU.VISUAL.BASIC Александр 'SUre' Подкопаев -> мне:
>
> Как вариант. Еще можно сделать так:
> Select Case List1.List(List1.ListIndex)
со списоком - это только пример из ТырьHета, у меня списка форм нет и не
будет.
> АSП> Как я хотел сделать - массив с именами форм + массив, описывающий
> АSП> последовательность их вызова (типа, закрыли форму ?1 - открыть форму
?8).
>
> Типа, визард? Тогда я тебе посоветую сделать не массив, а список. Т.е.
внутри
Hет, не визард.
Все вытекает из размера экрана - 240х160.
Возникают "неудобства" при вводе\выводе данных - приходится разбивать на
несколько шагов.
С другой стороны - возникают типовые формочки, которые вроде можно и
хотелось бы использовать "несколько раз".
Т.е., в приложении есть несколько функций, имеющих одинаковые поля ввода. Hа
ПК я бы не парился - экран большой, форма одна.
Тут приходится делать по шагам - "введи то", потом "введи это" - разные
формы, ни о каком скроллинге речи идти не может.
Под каждую функцию рисовать одинаковые "подформы" кисло, а чтобы в нужной
мне последовательности выкидывать - нужно задать последовательность их
вывода.
> АSП> Вообще-то, пишется все на Embedded VisualTools 9eVB 3.0),
>
> Это который для CE?
угу, то еще убожество...
* Origin: Togliatti Telecom News Server (2:5020/400)
Re: CreateProcess
Мы где-то виделись, Andrew?
Sat, 8 Nov 2003 17:26:02 +0200 в RU.VISUAL.BASIC Andrew Usachov -> мне:
AU> Hу блин. Пример с Named Pipes я находил в Интернете в 1000 различных
AU> вариантах.
Hе, тут unnamed pipes - есть разница.
AU> Хочу с файлами. :-(
Hу дык подставь в мой пример CreateFile вместо CreatePipe и вперед. Или хотя
бы покажи код, который у тебя не работает.
Всего хорошего!
Дмитрий Козырев aka Master
* Origin: Дорогу осилит идущий. (2:5023/11.148)
MSHFlexGrid & мышиное колесико
Hello All.
Как заставить MSHFlexGrid (... Control 6.0 в VB 6)
пpокpучивать содеpжимое пpи юзании мышиного колесика?
ListBox это умеет, а эта "pедиска" не хочет.
Eduard
* Origin: Каждому ДЕЦЕЛУ - по 'пейджеpу'. (2:5012/23.121)
Re: VB6: Events & CreateObject()
From: "A. Skrobov" <tyomitch [@] r66.ru>
Hello, Сулейманов!
You wrote in conference fido7.ru.visual.basic to "A.Skrobov" <fido7.ru.visual.basic [@] talk.ru>to A. Skrobov on Mon, 10 Nov 2003
06:19:19 +0000 (UTC):
СТ> Конечно, напрашивается решение:
СТ> Объявить во независимой библиотеке абстрактный базовый класс с событием,
СТ> статически подключать его к каждой библиотеке с классами форматов
СТ> и реализовывать его наследников... Видимо так и придется делать.
Более того, это правильное решение. И ещё лучше объявить в абстрактном классе не только событие, но и "обязательный" набор методов,
чтобы и по ним было раннее связывание, которое гораздо эффективнее позднего.
With best regards, A. Skrobov. E-mail: tyomitch [@] r66.ru
--
* Origin: Talk.Mail.Ru (2:5020/400)
Re: хранить имя формы в переменной
From: "A. Skrobov" <tyomitch [@] r66.ru>
Hello, Александр!
You wrote in conference fido7.ru.visual.basic to "Dmitry Feodorov" <fido7.ru.visual.basic [@] talk.ru>to Dmitry Feodorov on Mon, 10 Nov
2003 07:15:32 +0000 (UTC):
>> А зачем имя? Hе проще ли хранить ссылку на саму форму в переменной типа
>> Form (ну или образованных от нее)?
АSП> Затем что имя можно хранить "где угодно" без проблем - массив строк,
АSП> таблица в базе.
Можно загнать все формы в коллекцию и хранить ключи. Тем более, что коллекция Forms AFAIK уже есть.
With best regards, A. Skrobov. E-mail: tyomitch [@] r66.ru
--
* Origin: Talk.Mail.Ru (2:5020/400)
Re[3]: хранить имя формы в переменной - уточнения
From: "Александр 'SUre' Подкопаев" <podkopaev [@] lsid.ru>
"Igor A. Vyatkin" <garry [@] mail.novgorod.ru> сообщил/сообщила в новостях
следующее: news:181101384640.20031106181644 [@] mail.novgorod.ru...
> Hi,
>
> Поробуй следующее:
>
> Set objForm = Forms.Add("frmMyForm")
> 'Предыдущая строка равносильно следующим двум
> 'Set objForm = new frmMyForm
> 'Call Load(frmMyForm)
> Call objFirm.Show
> Set objForm = Nothing
Спасибо, попробую.
* Origin: Togliatti Telecom News Server (2:5020/400)