| Предыдущая тема :: Следующая тема   | 
	
	
	
		| Автор | 
		Сообщение | 
	
	
		Маташ Лев
 
 
  Зарегистрирован: 07.10.2005 Сообщения: 3
 
  | 
		
			
				 Добавлено: Пн 31 Мар 2008 00:54    Заголовок сообщения: программное изменение стиля | 
				     | 
			 
			
				
  | 
			 
			
				Здравствуйте!
 
как можно зафиксировать программное изменение стиля?
 
изменил стиль, координаты объекта, вызвал MapObjects.UpdateChanges();
 
MapWindow.Invalidate()
 
только ни в БД, ни на экране не произошло никаких изменений    | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		andreichernov
 
 
  Зарегистрирован: 14.02.2005 Сообщения: 209 Откуда: Самара
  | 
		
			
				 Добавлено: Пн 31 Мар 2008 13:12    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				надо применять изменению у той транзакции, у которой вы взяли объект 
 
set mo = ActiveDb.MapObjects
 
set aObject = mo.GetObject("...")
 
for each Shape in aObject.Shapes
 
  Shape.StyleID = "..."
 
next
 
mo.UpdateChanges | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		Маташ Лев
 
 
  Зарегистрирован: 07.10.2005 Сообщения: 3
 
  | 
		
			
				 Добавлено: Пн 31 Мар 2008 14:55    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				большое спасибо!
 
вроде так всё и делал, только транзакция расползлась по нескольким методам. собрал всё вместе и получилось!   | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		Борис Салтыков
 
  
  Зарегистрирован: 19.05.2008 Сообщения: 42 Откуда: angarsk / msk
  | 
		
			
				 Добавлено: Вт 15 Дек 2009 12:43    Заголовок сообщения: нюанс в дельфях 2007 | 
				     | 
			 
			
				
  | 
			 
			
				просто updatechanges не прошел, 
 
а вот если после него дернуть application.processmessages,
 
то отрисовалось на ура. | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		 |