Создания множества экземпляров объекта

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Gigahard
Бывалый
Бывалый
 
Сообщения: 253
Зарегистрирован: 24.07.2002 (Ср) 11:15
Откуда: Russia

Создания множества экземпляров объекта

Сообщение Gigahard » 21.11.2005 (Пн) 14:42

У меня есть форма, которая служит шаблоном при создании множества экземпляров.
Ну к примеру, эта форма называется tempForm. Создаю ее экземпляры следующим кодом:

Код: Выделить всё

Dim i As Integer

For i=1 To 3
Set frmi= New tempForm
frmi.Caption="Экземпляр " & i
frmi.Show
Next i

Создаются три экземпляра формы, привязанные к переменным frm1, frm2 и frm3.

Внутри блока кода в котором создаются экземпляры frm1, frm2 и frm3, ими можно полноценно манипулировать. Но за рамками блока (события, процедуры, функции) достучаться до них не возможно.

Вопрос: как дальше манипулировать frm1, frm2, frm3 из других процедур?
Старый глюк лучше новых двух!

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 21.11.2005 (Пн) 14:52

Объяви их, как Public на уровне модуля.
Lasciate ogni speranza, voi ch'entrate.

Gigahard
Бывалый
Бывалый
 
Сообщения: 253
Зарегистрирован: 24.07.2002 (Ср) 11:15
Откуда: Russia

Сообщение Gigahard » 21.11.2005 (Пн) 14:56

А как?
Public Set или Set Public не прокатывает...
Старый глюк лучше новых двух!

Gigahard
Бывалый
Бывалый
 
Сообщения: 253
Зарегистрирован: 24.07.2002 (Ср) 11:15
Откуда: Russia

Сообщение Gigahard » 21.11.2005 (Пн) 15:01

Или походу тут frmi не катит? И лучше динамический массив frm(i) использовать?
Или все же что то можно придумать с frmi?
Старый глюк лучше новых двух!

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 21.11.2005 (Пн) 15:23

Тот код, которые ты запостил первым, это вообще бред какой-то.

Для твоей задачи бы подошел массив или коллекция форм (Set frm(i) = New tempForm или Set f = New tempForm : frm.Add f : Set f = Nothing).
Lasciate ogni speranza, voi ch'entrate.

Gigahard
Бывалый
Бывалый
 
Сообщения: 253
Зарегистрирован: 24.07.2002 (Ср) 11:15
Откуда: Russia

Сообщение Gigahard » 21.11.2005 (Пн) 15:30

Ну я сам понимаю, что бред :) Но этот бред в какой то степени работал :) Ну я потом все же массив использовал :)
Старый глюк лучше новых двух!


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: SemrushBot, YaCy [Bot] и гости: 105

    TopList