Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема C#-1C Com соединение (число прочтений - 3804 )
Zhenya Vasiliev
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 3
Зарегистрирован: 06. Апреля 2010
C#-1C Com соединение
06. Апреля 2010 :: 03:31
Печать  
Перечитал всевозможные совету, но не получается справиться с зависанием 1С. Буду благодарен, если кто-то поможет.

Код
Выбрать все
public void Init([MarshalAs(UnmanagedType.IDispatch)] object pConnection)
	  {
		V81Data.V81Object = pConnection;
		_1CObject._v81Connector = pConnection;
		if (m_Enter == 0)
		{
		    AppDispatch = pConnection.GetType().InvokeMember("AppDispatch", System.Reflection.BindingFlags.GetProperty, null, pConnection, null);
		    Marshal.GetIUnknownForObject(AppDispatch);
		    m_Enter = 1;
		}
	  }
	  public void Done()
	  {
		foreach (Wab08RK cash in cashs.Values)
		{
		    cash.Dispose();
		}
		Marshal.Release(Marshal.GetIDispatchForObject(_1CObject._v81Connector));
		Marshal.ReleaseComObject(_1CObject._v81Connector);
		Marshal.Release(Marshal.GetIDispatchForObject(V81Data.V81Object));
		Marshal.ReleaseComObject(V81Data.V81Object);
		Marshal.Release(Marshal.GetIDispatchForObject(AppDispatch));
		Marshal.ReleaseComObject(AppDispatch);
		AppDispatch = null;
		_1CObject._v81Connector = null;
		V81Data.V81Object = null;
		GC.Collect();
		GC.WaitForPendingFinalizers();
		GC.Collect();
	  } 




Может у кого-то пример ВК в которую передается таблица значений и в ней заполняется в цикле. Замучился уже с памятью...на С++ такого не было, но надо написать на C#. Еще раз спасибо.
  
Наверх
 
IP записан
 
lustin
1c++ power user
Отсутствует


1C *.*, ROR, Java - на
этом остановимся

Сообщений: 907
Местоположение: Москва
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: C#-1C Com соединение
Ответ #1 - 06. Апреля 2010 :: 06:03
Печать  
может поможет
Цитата:
public override void Done()
               {                                              
                       RestoreConnectionRCW();                
                       try
                       {
                               ReleaseRCW(Connection);
                       }
                       catch (Exception _e)
                       {      
                               Logger.Severe("Exception in adapter Done: " + _e.ToString());
                       }
                       
                       RestoreConnectionRCW();                
                       try
                       {
                               ReleaseRCW(comConnector);
                       }
                       catch (Exception _e)
                       {      
                               Logger.Severe("Exception in adapter Done: " + _e.ToString());
                       }
               }                              
               



http://code.google.com/p/one-c-connectors/source/browse/trunk/Projects/OneCServi...

PS Не в тот раздел форума тему опубликовал кстати - это явно в Восьмерку надо перенести
  

бизнес-процесс как техническое задание прекрасно, только у бизнеса нет процессов; у бизнеса есть желание выжить
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Zhenya Vasiliev
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 3
Зарегистрирован: 06. Апреля 2010
Re: C#-1C Com соединение
Ответ #2 - 06. Апреля 2010 :: 10:57
Печать  
Не нашел, как перенести. А что Вы мне за проект показали? Я так понял люди занимаются именно интеграцией 1С со всем-всем-всем?
  
Наверх
 
IP записан
 
lustin
1c++ power user
Отсутствует


1C *.*, ROR, Java - на
этом остановимся

Сообщений: 907
Местоположение: Москва
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: C#-1C Com соединение
Ответ #3 - 06. Апреля 2010 :: 11:09
Печать  
Zhenya Vasiliev писал(а) 06. Апреля 2010 :: 10:57:
Не нашел, как перенести. А что Вы мне за проект показали? Я так понял люди занимаются именно интеграцией 1С со всем-всем-всем?


тему я так думаю модератор перенесет

а проект этот был анонсирован тут (http://www.1cpp.ru/forum/YaBB.pl?num=1261865206)
я просто указал ссылку на пример работающего адаптера с вызовом метода высвобождения ресурсов через ReleaseRCW

однако необходимо учитывать что там не все так просто со сборкой мусора
http://code.google.com/p/one-c-connectors/issues/detail?id=6

короче проблема шире шире чем казалась
  

бизнес-процесс как техническое задание прекрасно, только у бизнеса нет процессов; у бизнеса есть желание выжить
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Zhenya Vasiliev
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 3
Зарегистрирован: 06. Апреля 2010
Re: C#-1C Com соединение
Ответ #4 - 07. Апреля 2010 :: 16:16
Печать  
С памятью я тоже намучился...очень надеюсь, что у ребят получится побороть.
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать