| 
							Элексир
							
						 | 
						
							
								  | 
								
									
									 «  : 07-06-2008 19:17 »   | 
								
								 | 
							  
							 
							Здравствуйте уважаемые гуру Дельфинария. Подскажите пожалуйста. У меня есть 2 программы которые бы я хотел слить в одну. посредством размещения на общей форме и с 2 мя кнопками button1 = программа 1  button2 = прога 2. или как вариацию засунуть все это дело в меню. искал на форуме. ниче не нашел. заранее ПИТЕР всем  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							Алексей++
							
								глобальный и пушистый 
								Глобальный модератор
								
								 
								  Offline
								
								Сообщений: 13
								
								
								
								
								
							  
						 | 
						
							
								  | 
								
									
									 « Ответ #1 : 07-06-2008 19:21 »   | 
								
								 | 
							  
							 
							а те программы - обе твои ? И ещё - какова их структура ? А то в каком то случае придётся код копировать, в каком то тупо экзешники запускать, возможно    Или диалоги открывать,если dialog-bazed обе  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							Элексир
							
						 | 
						
							
								  | 
								
									
									 « Ответ #2 : 07-06-2008 19:35 »   | 
								
								 | 
							  
							 
							а те программы - обе твои ? И ещё - какова их структура ? А то в каком то случае придётся код копировать, в каком то тупо экзешники запускать, возможно    Или диалоги открывать,если dialog-bazed обе да обе мои. они обе однооконные если под структурой ты это имеешь ввиду. первая использует базы данных. простенькие они. я вобще то хотел бы узнать как научиться использовать формы. а привязка по экзе мне очень нравится    
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							Алексей++
							
								глобальный и пушистый 
								Глобальный модератор
								
								 
								  Offline
								
								Сообщений: 13
								
								
								
								
								
							  
						 | 
						
							
								  | 
								
									
									 « Ответ #3 : 07-06-2008 19:39 »   | 
								
								 | 
							  
							 
							Элексир, ну по дельфи я ничего не подскажу, а вообще - раз однооконные, то берёшь класс окна - и копируешь в общий проект. По кнопке создаёшь экземпляр нужного класса - и вперёд, на мины, с песней    
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							Элексир
							
						 | 
						
							
								  | 
								
									
									«  Ответ #4 : 07-06-2008 19:50 »    | 
								
								 | 
							  
							 
							Элексир, ну по дельфи я ничего не подскажу, а вообще - раз однооконные, то берёшь класс окна - и копируешь в общий проект. По кнопке создаёшь экземпляр нужного класса - и вперёд, на мины, с песней    а можешь подсказать как все таки сделать многооконное приложение?в частности использование mdiform и mdichild. а то я пробую и ни ... чего не получается.  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							Алексей++
							
								глобальный и пушистый 
								Глобальный модератор
								
								 
								  Offline
								
								Сообщений: 13
								
								
								
								
								
							  
						 | 
						
							
								  | 
								
									
									 « Ответ #5 : 07-06-2008 20:00 »   | 
								
								 | 
							  
							 
							Элексир, ждём дельфистов ) 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							Элексир
							
						 | 
						
							
								  | 
								
									
									 « Ответ #6 : 07-06-2008 20:02 »   | 
								
								 | 
							  
							 
							Алексей1153+++ Спасибо    
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							Sands
							
								Помогающий 
								
								 
								  Offline
								
								
								
								
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #7 : 07-06-2008 20:32 »   | 
								
								 | 
							  
							 
							Элексир, Если от етих программ ничего такого не требуется, то можно вообще обойтись шелэкзэкьютом. Я понимаю, что ето не совсем подходит кака реализация "слить" но все же. 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							Элексир
							
						 | 
						
							
								  | 
								
									
									 « Ответ #8 : 07-06-2008 20:41 »   | 
								
								 | 
							  
							 
							Элексир, Если от етих программ ничего такого не требуется, то можно вообще обойтись шелэкзэкьютом. Я понимаю, что ето не совсем подходит кака реализация "слить" но все же.
  выполнять удаленно? а как это можно реализовать?   
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							Sands
							
								Помогающий 
								
								 
								  Offline
								
								
								
								
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #9 : 07-06-2008 20:48 »   | 
								
								 | 
							  
							 
							Элексир, Ну просто если допустим тебе требуется чтобы ети программки как-то отрабатывали и некоторый результат возвращали главному(менеджерскому) окну то тогда можно применять методику описанную Алексеем. А если ты просто решил написать некий каталогизатор своих программ, который бы просто по нажатию кнопки запускал программку на выполнение и пр етом результат их работы етому менеджеру не важен, то можно обратить внимание на функцию ShellExecute Параметры посмотри в справке, ибо я тоже не очень програмил в дельфи. Но суть в том, что одним из параметров в функцию передается путь к екзешнику(или другому файлу - если более общно), который надо выполнить. Тогда просто в отдельную папочку сложиш екзешники своих программ, а в обработчиках нажатия кнопок пропишеш просто вызов ShellExecute с нужными путями. 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							Элексир
							
						 | 
						
							
								  | 
								
									
									 « Ответ #10 : 07-06-2008 20:52 »   | 
								
								 | 
							  
							 
							Sands, спасибо за совет. надо попробовать.  ты не можешь подсказать где можно найти справку по mdi'аям? 
  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						
							Sands
							
								Помогающий 
								
								 
								  Offline
								
								
								
								
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #11 : 07-06-2008 21:00 »   | 
								
								 | 
							  
							 
							К сожалению - нет. Единсвенное что могу сказать, то помниться у делфи есть каталог с примерами разных програмок, начиная от простых окон и заканчивая навортами типа подключения OpenGL. Так вот думается мне там должен быть базовый пример для MDI-приложения. Правда расположение его не подскажу ибо не помню(( Но вроде где-то в папке, куда ты устанавливал делфи. 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							Basurman
							
						 | 
						
							
								  | 
								
									
									 « Ответ #12 : 07-06-2008 23:08 »   | 
								
								 | 
							  
							 
							Все справки можно найти в SDK, правда на английском и весьма мутные. Поскольку MDI (интерфейс многодокументных приложений) - творение детища Билла Гейтса, а Delphi даёт к нему только обёртку. Примеры приложений надо искать в каталоге Demos, расположенном в дереве каталогов Delphi. Например ...\Borland\BDS\3.0\Demos. 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							zubr
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #13 : 08-06-2008 06:58 »   | 
								
								 | 
							  
							 
							А клавиша F1 что не работает? В Delphi mdi-формы делаются настолько примитивно, что стыдно об этом говорить. Для этого не надо писать ни строчки кода. В инспекторе объектов для главной mdi-формы ставишь свойство формы FormStyle в fsMdiForm, а в чилд-форме fsMdiChild. И все!!! 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							Элексир
							
						 | 
						
							
								  | 
								
									
									 « Ответ #14 : 08-06-2008 10:57 »   | 
								
								 | 
							  
							 
							А клавиша F1 что не работает? В Delphi mdi-формы делаются настолько примитивно, что стыдно об этом говорить. Для этого не надо писать ни строчки кода. В инспекторе объектов для главной mdi-формы ставишь свойство формы FormStyle в fsMdiForm, а в чилд-форме fsMdiChild. И все!!!
  Я так и поступаю. но ведь это второе окно сразу активным становится. а я хочу вызывать его по кнопке.  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							zubr
							 
								Гость 
							 
						 | 
						
							
								  | 
								
									
									 « Ответ #15 : 08-06-2008 12:34 »   | 
								
								 | 
							  
							 
							Ну так отключи его автоматическое создание. Или вручную из файла проекта Project->View Source удали Application.CreateForm(TForm2, Form2); или из Options проекта удали чилд-форму из Auto create. А чтобы чилд окно при закрытии уничтожалось, а не сворачивалось, в событии OnClose данного окна пропиши Action:=caFree; 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							Элексир
							
						 | 
						
							
								  | 
								
									
									 « Ответ #16 : 08-06-2008 15:08 »   | 
								
								 | 
							  
							 
							Спасибо за подсказки.    
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
						 | 
					 
				 
			 |  
		 
	 | 
	 |