| Предыдущая тема :: Следующая тема   | 
	
	
	
		| Автор | 
		Сообщение | 
	
	
		ABWC
 
 
  Зарегистрирован: 01.09.2008 Сообщения: 15 Откуда: Ростов-на-Дону
  | 
		
			
				 Добавлено: Ср 03 Сен 2008 10:38    Заголовок сообщения: IIngeoMapObject.SemData.SetValue под .Net Framework | 
				     | 
			 
			
				
  | 
			 
			
				Здравствуйте!
 
 
Есть такой кусок кода на с#:
 
 	  | Код: | 	 		  IIngeoMapObjects objects = app.ActiveDb.MapObjects;
 
objects.TransactionName = "123";
 
IIngeoMapObject m_o = objects.GetObject(app.Selection.get_IDs(0));
 
string s = "ВеликийСАМ";
 
try
 
{
 
   m_o.SemData.SetValue("Замеры", "Исполнитель", s, 0);
 
   objects.UpdateChanges();
 
}
 
catch (Exception Ex)
 
{
 
   System.Windows.Forms.MessageBox.Show(Ex.Message);
 
} | 	  
 
 
выделяемый объект, само собой имеет и таблицу "Замеры", и поле "Исполнитель". Как только переменной "s" присваивается значение, отличное от того, которое уже записано в таблице, на функции objects.UpdateChanges(); вываливается исключение
 
"Разрушительный сбой (Исключение из HRESULT: 0x8000FFFF (E_UNEXPECTED))".
 
Т.е. если использовать функцию objects.UpdateChanges() для изменения существующей записи в таблице, она выдает ошибку.
 
 
Попутно еще одна проблема: в обработчике события выделения объекта, показываю свою форму (в ней осуществляется обработка и специфическое отображение данных). Если эту форму закрыть "крестиком" при следующей попытке открыть форму, вываливается исключение:
 
"Доступ к ликвидированному объекту невозможен.\r\nИмя объекта: \"SamplesForm\"."
 
Хотя все ссылки в дебаггере допустимые, и сборщик мусора не должен был удалять форму (ей заведена глобальная для плагина переменная). | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		Михаил Власов
 
  
  Зарегистрирован: 14.02.2005 Сообщения: 580 Откуда: ИНТЕГРО
  | 
		
			
				 Добавлено: Чт 04 Сен 2008 09:46    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				Обновите ИнГео отсюда:
 
 
http://www.integro.ru/dl/ingeo/ingeo44
 
 
В обновленной версии правильно выводятся сообщения об ошибках - вместо "Разрушительный сбой" будет сообщение о настоящей причине сбоя. _________________ С уважением, Михаил Власов. | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		ABWC
 
 
  Зарегистрирован: 01.09.2008 Сообщения: 15 Откуда: Ростов-на-Дону
  | 
		
			
				 Добавлено: Чт 04 Сен 2008 15:55    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				Не на много лучше    . Теперь пишет:
 
 
Operation not applicable. | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		Михаил Власов
 
  
  Зарегистрирован: 14.02.2005 Сообщения: 580 Откуда: ИНТЕГРО
  | 
		
			
				 Добавлено: Пт 05 Сен 2008 11:16    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				Вышлите Ваш пример на support@integro.ru - постараемся разобраться. _________________ С уважением, Михаил Власов. | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		ABWC
 
 
  Зарегистрирован: 01.09.2008 Сообщения: 15 Откуда: Ростов-на-Дону
  | 
		
			
				 Добавлено: Вт 09 Сен 2008 14:48    Заголовок сообщения: сайт дешево за помощь | 
				     | 
			 
			
				
  | 
			 
			
				| Попробовал запустить плагин на сервере, все заработало. На сервере и на рабочем месте разработчика стоят разные клиенты для доступа к Oracle. Буду пытаться решить проблему установкой другого клиента. Ну а если хотите, то могу сайт дешево сделать тому, кто поможет во всем этом разобраться. | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		 |