Проблемы с МДИ-формой.

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Matew
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 894
Зарегистрирован: 28.06.2004 (Пн) 17:44
Откуда: Дальний Восток, г. Ха

Проблемы с МДИ-формой.

Сообщение Matew » 13.09.2004 (Пн) 8:39

Я хочу сделать МДИ форму и много дочерних, что бы у каждой были свои одинаковые переменные, и чтобы к ним можно было обращаться (и менять из других не дочерних форм) примерно так: activeform.переменная. Как мне это сделать?

Netta
Новичок
Новичок
 
Сообщения: 37
Зарегистрирован: 25.11.2003 (Вт) 12:22
Откуда: Lithuanian

Сообщение Netta » 13.09.2004 (Пн) 9:32

Создаёшь форму FrmTemp и в её модуле все нужные переменные.
Создаёшь пункт меню, который вызовает новую форму.

Dim fr As New FrmTemp
fr.Show

Matew
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 894
Зарегистрирован: 28.06.2004 (Пн) 17:44
Откуда: Дальний Восток, г. Ха

Сообщение Matew » 13.09.2004 (Пн) 9:52

Это я знаю, а как объявить в ней переменные?
Алкоголь и сканеры-ваши враги! Не верите-смотрите аватару :-)

Matew
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 894
Зарегистрирован: 28.06.2004 (Пн) 17:44
Откуда: Дальний Восток, г. Ха

Сообщение Matew » 13.09.2004 (Пн) 15:29

Static lDocumentCount As Long
Dim frmD As frmDocument
lDocumentCount = lDocumentCount + 1
Set frmD = New frmDocument
frmD.Caption = "Документ " & lDocumentCount
frmD.Show
Я вот так делаю, но мне надо как-то обращатся к переменным этой процедуры. А я не знаю как это сделать. Их нельзя объявить публик в форме(тока в модуле, а то ругается), а иначе ActiveForm.переменная не работает. Подскажите плиз, а то я никак не догадаюсь((((.
Алкоголь и сканеры-ваши враги! Не верите-смотрите аватару :-)

Matew
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 894
Зарегистрирован: 28.06.2004 (Пн) 17:44
Откуда: Дальний Восток, г. Ха

Сообщение Matew » 13.09.2004 (Пн) 16:53

Я уже весь поиск перерыл не могу найти подобное!(((
Алкоголь и сканеры-ваши враги! Не верите-смотрите аватару :-)

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 13.09.2004 (Пн) 20:59

Matew писал(а):Я вот так делаю, но мне надо как-то обращатся к переменным этой процедуры. А я не знаю как это сделать. Их нельзя объявить публик в форме(тока в модуле, а то ругается)

Должно быть можно, если только они не UDT. Скорее всего, что-то неправильно делаешь.
Изображение

Matew
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 894
Зарегистрирован: 28.06.2004 (Пн) 17:44
Откуда: Дальний Восток, г. Ха

Сообщение Matew » 15.09.2004 (Ср) 5:07

Я понял в чем дело. Нельзя отдавать в доступ массивы из "детской" формы. Подскажите, как это обойти. Может можно их чем-нибудь заменить типа поинттапи или как? Заранее спасибо.
Алкоголь и сканеры-ваши враги! Не верите-смотрите аватару :-)

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 15.09.2004 (Ср) 6:08

публичным свойством с индексом?
Код: Выделить всё
Public Property Get Massiv(ByVal Index As Long) As YourType
    Massiv = myMassiv(Index)
End Property
Изображение

Matew
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 894
Зарегистрирован: 28.06.2004 (Пн) 17:44
Откуда: Дальний Восток, г. Ха

Сообщение Matew » 15.09.2004 (Ср) 6:19

Спасибо! Ща попробую.
Алкоголь и сканеры-ваши враги! Не верите-смотрите аватару :-)


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

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

Сейчас этот форум просматривают: Yandex-бот и гости: 1

    TopList  
cron