![]()  | 
	
 
  | 
| 
		 
			 
			#1  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 Вот уж не думал что придётся задавать вопрос на форуме... вроде и справок много и инет есть..  
		
	
		
		
		
		
			
		
		
		
		
		
			  ну лана.Проблемка не сложная.. есть длл - в результате вызова в ней какой-то ф-ии возвращается мой тип, являющийся списком... всё вроде бы хорошо - работает.. но стоит мне выгрузить библиотеку, - и я теряю эту переменную.. так вот мне нужно сделать чтобы при выгрузке я мог обращаться к этому списку.. ![]() неважно или созданием нового или ещё каким способом.. Последний раз редактировалось Ferra, 03.12.2006 в 17:57.  | 
| 
		 
			 
			#2  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Аналогичная проблема.  
		
	
		
		
		
		
		
		
			Подгружаю ДЛЛ, вызываю метод. Получаю record. Сохраняю в другом экземпляре record'а. После выгрузки Длл инфа исчезает. Разве record в Делфи не value тип? Пробовал так. Распределял память в куче для своего рекорда (при помощи New). Копировал инфу из адреса рекорда, который возвращала Длл в место по новому адресу (при помощи CopyMemory а не простым присваиванием, а то вдруг только ссылки копирнет). Все равно после выгрузки ДЛЛ в новой переменной инфа исчезала. Детально посмотрел адреса в отладчике. Оказалось хоть адрес нового экземпляра моей структуры и лежал в куче приложения, но адреса полей структуры указывали на адрес, по которому загружена ДЛЛ а не на сегмент данных приложения. Тоесть как и была инфа по адресу, выданному ДЛЛ, так там и осталась, а копировались только ссылки. Последний раз редактировалось AlexZL, 03.12.2006 в 20:50.  |