VB6 как указать программно (из кода) на одну из форм

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Лодя
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 26.09.2012 (Ср) 7:16

VB6 как указать программно (из кода) на одну из форм

Сообщение Лодя » 31.10.2017 (Вт) 21:52

VB6,

как указать программно (из кода) на одну из форм проекта, не пользуясь Project Explorer,

если форма еще не загружена и ее еще нет в коллекции Forms.

Но известны все имена форм, включенных в проект.

Эти имена найдены из просмотра файла проекта .vbp и просмотра файлов форм .frm

( в файлах форм - чтение строки Begin VB.Form ).

Такое указание или поименование должно позволить узнать свойства

формы, состояние видимости и позволить загрузить ее.

С уважением, Лодя

31 октября 2017г.

Teranas
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 95
Зарегистрирован: 13.12.2008 (Сб) 4:26
Откуда: Новосибирск

Re: VB6 как указать программно (из кода) на одну из форм

Сообщение Teranas » 01.11.2017 (Ср) 2:31

ни чего не понял...
Загрузи форму, впрячь её hide`м и просматривавай её свойство сколько душе угодно...
если конечно я правельно понял вопрос.
С уважением, Андрей.

Лодя
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 26.09.2012 (Ср) 7:16

Re: VB6 как указать программно (из кода) на одну из форм

Сообщение Лодя » 01.11.2017 (Ср) 16:36

Уважаемые господа!

Поясняю ситуацию, пусть в проекте имеется насколько форм.
Загружена одна - две формы (например MDIForm1 + Form9).
Вызвана подпрограмма из модуля. Желательно в коде этой подпрограммы получить ответ
имеется ли в проекте, скажем “Form8” без загрузки этой формы,
а загружать ее только в отдельных случаях.
С уважением,
Лодя, 01 ноября 2017г

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16029
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: VB6 как указать программно (из кода) на одну из форм

Сообщение Хакер » 01.11.2017 (Ср) 23:34

Разговор и вопрос — бредовые.

Когда придёт понимание, что форма является по сути подвидом класса, что нет загруженных форм, а есть экземпляры (инстансы) форм, что есть Dim-As-New-переменные для каждой формы с одноимённым названием — тогда можно будет о чём-то говорить.

И не надо каждый раз писать своё имя пользователя и дату в конце сообщени, они и так отображаются форумом вокруг текста сообщения.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Teranas
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 95
Зарегистрирован: 13.12.2008 (Сб) 4:26
Откуда: Новосибирск

Re: VB6 как указать программно (из кода) на одну из форм

Сообщение Teranas » 02.11.2017 (Чт) 14:52

Лодя писал(а):Уважаемые господа!

Поясняю ситуацию, пусть в проекте имеется насколько форм.
Загружена одна - две формы (например MDIForm1 + Form9).
Вызвана подпрограмма из модуля. Желательно в коде этой подпрограммы получить ответ
имеется ли в проекте, скажем “Form8” без загрузки этой формы,
а загружать ее только в отдельных случаях.
С уважением,
Лодя, 01 ноября 2017г


то есть - ты хотишь раздербанить файлы *.frm и каким-то образом подключать их к скомпилированному экзешнику?
С уважением, Андрей.

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 3746
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Re: VB6 как указать программно (из кода) на одну из форм

Сообщение Mikle » 02.11.2017 (Чт) 15:10

Teranas писал(а):хотишь раздербанить файлы *.frm

Я понял по-другому. Нужно, чтобы при работе EXE без наличия исходника можно было узнать о наличии в этом EXE форм, которые ещё не загружены.

Teranas
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 95
Зарегистрирован: 13.12.2008 (Сб) 4:26
Откуда: Новосибирск

Re: VB6 как указать программно (из кода) на одну из форм

Сообщение Teranas » 03.11.2017 (Пт) 10:32

Всё-равно замут какой-то, если форма не используется, компилятор да же
и не рыпнется её обрабатывать... может я не прав конечно.
С уважением, Андрей.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16029
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: VB6 как указать программно (из кода) на одну из форм

Сообщение Хакер » 03.11.2017 (Пт) 19:53

Teranas писал(а):Всё-равно замут какой-то, если форма не используется, компилятор да же
и не рыпнется её обрабатывать... может я не прав конечно.


Не прав. Рыпнется. Если действительно интересует пройтись по всем формам приложения, то как это сделать можно посмотреть здесь: viewtopic.php?f=28&t=43201

Но я уверен, что у автора просто каша в голове.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Vi
Постоялец
Постоялец
 
Сообщения: 738
Зарегистрирован: 25.01.2002 (Пт) 11:03
Откуда: Россия, Ижевск

Re: VB6 как указать программно (из кода) на одну из форм

Сообщение Vi » 05.11.2017 (Вс) 15:43

Я так понимаю, что человеку нужно обратиться к какой-то форме, которая не загружена, но существует как переменная. Т.е. ему нужно найти объект, к которому можно было бы обратиться со строкой имени формы и получить ссылку на эту форму.

Если бы эта форма была загружена, то это Forms(sFormName), которая даст объект-форму с именем sFormName.

Такой вопрос был когда-то, когда кто-то просил, как обратиться к переменной в (глобальном) модуле по имени, содержащейся в строке.

PS
Forms.Add(sFormName). :)
Vita
Выше головы не прыгнешь, ниже земли не упадешь, дальше границы не убежишь! (с) КВН


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9

    TopList