Страница: 1 | 2 | 
		
		 
			   
			 
			 
			 
			 
			
 
  
		
     
  
    
Вопрос: Как лучше динамически объявить Form
     
    
Добавлено: 24.05.07 12:19
     
      
  
				
			  
					 
			
				 
    
		
       
    
Автор вопроса:  
     KreAtoR
 KreAtoR
      
       
  
Я могу динамически объявить форму только двумя способами
 
    
1. это не подходящий спрособ
Dim frm as Form
Set frm = New Form1
тогда появляется клон первой формы
2. уже лучше, но все равно очень грубо и не правильно
-Создаем еще одну форму Form2
Dim frm as Form
Set frm = New Form2
тогда появляется клон второй формы. Плюс один в том, что эта форма пустая просто.
Подскажите как сделать правильно?
				
		
		
					 
			
				 
  
		
     
  
    
Ответы
     
    
Всего ответов: 22
     
      
  
		
	  
			 
	
		 
    
       
    
Номер ответа: 1 
      
Автор ответа: -АлександР-
 -АлександР-

Вопросов: 55
Ответов: 1008
      
 Web-сайт:  
 Профиль |  | #1
      
Добавлено:  24.05.07 18:34
       
    
       
  
ну в зависимости от задач, которые ты ставишь, так и правильно
 
    
какая разница? ты два раза одно и то же написал для разных форм,
вот и решай, какой экземпляр класса тебе надо
		
	  
			 
	
		 
    
       
    
Номер ответа: 2 
      
Автор ответа: KreAtoR
 KreAtoR





Вопросов: 120
Ответов: 438
      
 Профиль |  | #2
       
Добавлено:  24.05.07 19:08
       
    
       
  
вообще я хотел сделать класс, Sub которого создает Окно и выводит на него всю необходимую информацию. Только вот я не вижу смысла для этого делать еще одно окно. В данном случае я клонирую окно а не создаю новое из класса окон.
 
    
Может все таки есть более логический вариант?
		
	  
			 
	
		 
    
       
    
Номер ответа: 3 
      
Автор ответа: -АлександР-
 -АлександР-

Вопросов: 55
Ответов: 1008
      
 Web-сайт:  
 Профиль |  | #3
      
Добавлено:  24.05.07 21:44
       
    
       
  
CreateWindow... всегда рулит
 
    
а вообще на вб6 забей, 
короче, я не знаю, если кто знат, скажите
на вб6 вообще геморой, здесь нельзя создать форму как экземпляр класса от класса Form
на VB.NET все делается просто:
        k.Show()
ибо там ООП, а тут фуфлё
		
	  
			 
	
		 
    
       
    
Номер ответа: 4 
      
Автор ответа: ZagZag
 ZagZag


ICQ: 295002202 
Вопросов: 87
Ответов: 1684
      
 Профиль |  | #4
       
Добавлено:  25.05.07 08:07
       
    
       
  
Он наверное спрашивал как создать не копию формы, а пустую форму из ничего.
 
    
Я так и ненашел как это сделать средствами VB. Прийдется API CreateWindow
		
	  
			 
	
		 
    
       
    
Номер ответа: 5 
      
Автор ответа: Viper
 Viper



ICQ: 249094859 
Вопросов: 0
Ответов: 310
      
 Профиль |  | #5
       
Добавлено:  25.05.07 08:33
       
    
       
  
Ну вы даете.... Код:
 
    
Set frm = New Form1
именно что создает экземпляр формы (а по сути своей класса) Form1.
Если вдруг форма уже есть, а нужна еще однв ссылка на нее, то рулит код:
Set frmRef = frmExist ' где frmExist указывает на уже существующий экземпляр Form1
		
	  
			 
	
		 
    
       
    
Номер ответа: 6 
      
Автор ответа: -АлександР-
 -АлександР-

Вопросов: 55
Ответов: 1008
      
 Web-сайт:  
 Профиль |  | #6
      
Добавлено:  25.05.07 20:01
       
    
       
  
не, ему нужно было создать экземпляр класса не того, который уже есть,  Form1, а от как бы, прородителя форм Form, как в VB.NET
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 7 
      
Автор ответа: Viper
 Viper



ICQ: 249094859 
Вопросов: 0
Ответов: 310
      
 Профиль |  | #7
       
Добавлено:  26.05.07 07:13
       
    
       
  
Ну ежели ему хочется именно этого, то именно это и не получится, т.е. нельзя написать
 
    
Set F = New Form
Выход - юзанье CreateWindow... ток непонятно на кой это надо...
		
	  
			 
	
		 
    
       
    
Номер ответа: 8 
      
Автор ответа: Artyom
 Artyom







Разработчик
Вопросов: 130
Ответов: 6602
      
 Профиль |  | #8
       
Добавлено:  26.05.07 08:23
       
    
       
  
VB .NET рулит - подтверждаю
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 9 
      
Автор ответа: Павел
 Павел






Администратор
ICQ: 326066673 
Вопросов: 368
Ответов: 5968
      
 Web-сайт:  
 Профиль |  | #9
      
Добавлено:  26.05.07 12:04
       
    
       
  
А не судьба создать в design-time абсолютно пустую форму, и из нее уже
 
    
плодить экземпляры?
P.S. VB 2005 рулит.
		
	  
			 
	
		 
    
       
    
Номер ответа: 10 
      
Автор ответа: Silver Ferrum
 Silver Ferrum

ICQ: 422640045 
Вопросов: 12
Ответов: 144
      
 Профиль |  | #10
       
Добавлено:  26.05.07 13:12
       
    
       
  
..я не понимаю, зачем тебе пустые формы?
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 11 
      
Автор ответа: KreAtoR
 KreAtoR





Вопросов: 120
Ответов: 438
      
 Профиль |  | #11
       
Добавлено:  04.06.07 10:29
       
    
       
  
динамически их объявлять что бы. Незачем им просто так в памяти лежать, все время пока прога выполняется. Есть такие окна, которые нужны ну один раз, если вообще нужны. Поэтому хочу создавать их динамически, чтоб зря память не жрали.
 
    
А то что из класса Форму создать незя, это остой. Пора на НЕТ переходить  
		
	  
			 
	
		 
    
       
    
Номер ответа: 12 
      
Автор ответа: HACKER
 HACKER








 
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
      
 Профиль |  | #12
       
Добавлено:  04.06.07 14:47
       
    
       
  
Вот за это и нелюблю дотнетчиков, они сбивают молодое поколение с верного пути  
     KreAtoR не слушай их, в вб6 всё можно реализовать, только объясни что ты хочешь более конкретно..
 KreAtoR не слушай их, в вб6 всё можно реализовать, только объясни что ты хочешь более конкретно..
1) Создать несколько экземпляров 1к1 ОДНОЙ ФОРМЫ
2) Создать один экземпляр одной формы (Form1) + создать экземпляр второй формы (Form2)
?
		
	  
			 
	
		 
    
       
    
Номер ответа: 13 
      
Автор ответа: ZagZag
 ZagZag


ICQ: 295002202 
Вопросов: 87
Ответов: 1684
      
 Профиль |  | #13
       
Добавлено:  04.06.07 17:50
       
    
       
  
Он хочет создать форму из ничего. Но при этом не использовать АПИ.
 
    
ИМХО, незачем это делать. Проще создать обычную форму. Она не занимает памяти пока ее не загрузить (Load frmMsgBox)
		
	  
			 
	
		 
    
       
    
Номер ответа: 14 
      
Автор ответа: -АлександР-
 -АлександР-

Вопросов: 55
Ответов: 1008
      
 Web-сайт:  
 Профиль |  | #14
      
Добавлено:  04.06.07 19:40
       
    
       
  
ZagZag
 
    
 
2HACKER, поздно, HACKER, поздно...
		
	  
			 
	
		 
    
       
    
Номер ответа: 15 
      
Автор ответа: HACKER
 HACKER








 
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
      
 Профиль |  | #15
       
Добавлено:  04.06.07 21:03
       
    
       
  
 
    
Чё поздно то? Я могу массу примеров привести где дотнет непоможет если не юзать традиционные апи...