Имеются два независимых объекта. Как заставить их работать сообща, тобишь чтобы переменная одного объекта (в моём случае - массив) могла быть доступна другому объекту при описании?
Пока что вижу всего лишь один способ - объединить оба объекта в один
Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.
![]() ![]()  | 
	
| comanche | 
                        
			
			  
			
				 Сообщение
					#1				
			 
		 | 
	
        	
        		![]() Новичок ![]() Группа: Пользователи Сообщений: 41 Пол: Мужской Реальное имя: Эдд Репутация:    0           	 | 
       
			
			 Добрый день, товарищи! Дело такое: 
			
			Имеются два независимых объекта. Как заставить их работать сообща, тобишь чтобы переменная одного объекта (в моём случае - массив) могла быть доступна другому объекту при описании? Пока что вижу всего лишь один способ - объединить оба объекта в один -------------------- Released by Demons 
					
		 | 
	
| volvo | 
                        
			
			  
			
				 Сообщение
					#2				
			 
		 | 
	
| 
        	
        		 Гость  | 
       
			
			 Пример готовых отдельных объектов приведи, и ЧТО ты хочешь чтобы было доступно - тоже... Посмотрим, как можно это реализовать... Кстати, для какого компилятора, уточни... 
			
			
					
		Цитата чтобы переменная одного объекта (в моём случае - массив) могла быть доступна другому объекту при описании?   | 
	
| comanche | 
                        
			
			  
			
				 Сообщение
					#3				
			 
		 | 
	
        	
        		![]() Новичок ![]() Группа: Пользователи Сообщений: 41 Пол: Мужской Реальное имя: Эдд Репутация:    0           	 | 
       
			
			 "При описании" я имел в виду, что уже при описании выдаёт ошибку, то что второму объекту не известны методы первого.  
			
			Вот здесь, например, я хочу вывести на экран массив, хранящийся в первом объекте на экран при помощи второго объекта. P.s. использую TMT, но на TP тоже должно пахЫть Type -------------------- Released by Demons 
					
		 | 
	
| volvo | 
                        
			
			  
			
				 Сообщение
					#4				
			 
		 | 
	
| 
        	
        		 Гость  | 
       
			
			 Цитата я хочу вывести на экран массив, хранящийся в первом объекте на экран при помощи второго объекта. Да ты покажи, КАК ты хочешь вызывать это... У меня никакой ошибки не показывает, ИБО НЕТ ЕЕ в том коде, который ты привел ! | 
	
| comanche | 
                        
			
			  
			
				 Сообщение
					#5				
			 
		 | 
	
        	
        		![]() Новичок ![]() Группа: Пользователи Сообщений: 41 Пол: Мужской Реальное имя: Эдд Репутация:    0           	 | 
       
			
			
			
			 -------------------- Released by Demons 
					
		 | 
	
| volvo | 
                        
			
			  
			
				 Сообщение
					#6				
			 
		 | 
	
| 
        	
        		 Гость  | 
       
			
			 Так устроит: 
			
			
					
		Const ?  | 
	
| comanche | 
                        
			
			  
			
				 Сообщение
					#7				
			 
		 | 
	
        	
        		![]() Новичок ![]() Группа: Пользователи Сообщений: 41 Пол: Мужской Реальное имя: Эдд Репутация:    0           	 | 
       
			
			 Это, конечно, хороший вариант.  
			
			Тоеть насколько я понимаю, нельзя два независимых объекта согласовать без вложенности одного в другой? Возникает второй вопрос: почему вы не выделяли память под P (pGame)? Constructor сам всё выделил? Немного не понимаю вот этой строки: New(Menu, Init(Game)); Сообщение отредактировано: comanche - -------------------- Released by Demons 
					
		 | 
	
| volvo | 
                        
			
			  
			
				 Сообщение
					#8				
			 
		 | 
	
| 
        	
        		 Гость  | 
       
			
			 Цитата(comanche @ 13.03.2006 15:04) Это, конечно, хороший вариант.  Цитата(comanche @ 13.03.2006 15:04) Тоеть насколько я понимаю, нельзя два независимых объекта согласовать без вложенности одного в другой?  Ну, я бы не сказал, что это вложенность, это все-таки p: PTGame, а следовательно указатель на объект типа TGame...Цитата(comanche @ 13.03.2006 15:04) Возникает второй вопрос: почему вы не выделяли память под P (pGame)? Constructor сам всё выделил?  Смотри, что происходит: тип TMenu содержит переменную P... Задача конструктора - выделить в памяти место, достаточное для хранения всех переменных, правда? Зачем я еще что-то должен делать? На то и Constructor ...Цитата(comanche @ 13.03.2006 15:04) Немного не понимаю вот этой строки: New(Menu, Init(Game)); Ну, я же поменял заголовок конструктора, и теперьConstructor TMenu.Init(pGame: PTGame); должен получать аргумент - указатель на TGame... Вот я и передаю его при инициализации...  | 
	
| comanche | 
                        
			
			  
			
				 Сообщение
					#9				
			 
		 | 
	
        	
        		![]() Новичок ![]() Группа: Пользователи Сообщений: 41 Пол: Мужской Реальное имя: Эдд Репутация:    0           	 | 
       
			
			 Огромное спасибо и уважуха в квадрате  
			
			-------------------- Released by Demons 
					
		 | 
	
| comanche | 
                        
			
			  
			
				 Сообщение
					#10				
			 
		 | 
	
        	
        		![]() Новичок ![]() Группа: Пользователи Сообщений: 41 Пол: Мужской Реальное имя: Эдд Репутация:    0           	 | 
       
			
			 Возник ещё один теоретический вопрос:  
			
			Тоесть со статическими объектами нельзя было бы проделывать такие же действия? -------------------- Released by Demons 
					
		 | 
	
| volvo | 
                        
			
			  
			
				 Сообщение
					#11				
			 
		 | 
	
| 
        	
        		 Гость  | 
       
			
			 Все, что можно с динамикой, можно и со статикой. Операцию "@" еще никто не отменял  
			
			
					
		 | 
	
| comanche | 
                        
			
			  
			
				 Сообщение
					#12				
			 
		 | 
	
        	
        		![]() Новичок ![]() Группа: Пользователи Сообщений: 41 Пол: Мужской Реальное имя: Эдд Репутация:    0           	 | 
       
			
			 А вот такой мы пока ещё не знаем, а если и слышали, то не понимаем её предназначения.  
			
			Спасибо! -------------------- Released by Demons 
					
		 | 
	
| comanche | 
                        
			
			  
			
				 Сообщение
					#13				
			 
		 | 
	
        	
        		![]() Новичок ![]() Группа: Пользователи Сообщений: 41 Пол: Мужской Реальное имя: Эдд Репутация:    0           	 | 
       
			
			 Эхх мааа... Сделал всё так же как вы сказали, теперь же в результате вывода массива выводятся нули, а если 
			
			оставить New(Menu, Init(Game)); Т.е. не менять местами New(Menu, Init(Game)); То выводятся хаотичные значения, причём одни и те же. Код: (Показать/Скрыть) 
-------------------- Released by Demons 
					
		 | 
	
| volvo | 
                        
			
			  
			
				 Сообщение
					#14				
			 
		 | 
	
| 
        	
        		 Гость  | 
       
			
			 Если не менять местами - будет непонятно что, потому что СНАЧАЛА надо инициализировать Game, а потом передавать его в Menu... 
			
			
					
		Сейчас гляну, что там происходит... (только я проверяю в FPC, у меня TMT не установлен...) Constructor TGame.Init; Попробуй изменить ТОЛЬКО это, у меня выдает то, что было инициализировано: Цитата   1  2  3  4  5  6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36  | 
	
| comanche | 
                        
			
			  
			
				 Сообщение
					#15				
			 
		 | 
	
        	
        		![]() Новичок ![]() Группа: Пользователи Сообщений: 41 Пол: Мужской Реальное имя: Эдд Репутация:    0           	 | 
       
			
			 Да, заработало. В чём же причина?  
			
			-------------------- Released by Demons 
					
		 | 
	
| volvo | 
                        
			
			  
			
				 Сообщение
					#16				
			 
		 | 
	
| 
        	
        		 Гость  | 
       
			
			 В том, что просто сделать Randomize недостаточно... Нужно еще и заполнить матрицу значениями. А для этого достаточно сказать компилятору, какая процедура этим занимается... Что я и сделал  
			
			
					
		 | 
	
| comanche | 
                        
			
			  
			
				 Сообщение
					#17				
			 
		 | 
	
        	
        		![]() Новичок ![]() Группа: Пользователи Сообщений: 41 Пол: Мужской Реальное имя: Эдд Репутация:    0           	 | 
       
			
			 Победили!  
			
			-------------------- Released by Demons 
					
		 | 
	
![]() ![]()  | 
	
 
  | 
		Текстовая версия | 4.11.2025 9:05 |