Переключение на Главную Страницу Страницы: 1 ... 3 4 [5] 6  ОтправитьПечать
Очень популярная тема (более 25 ответов) v7CLR: ВК для работы с .NET-типами без CCW (число прочтений - 55794 )
Sirefanni
Экс-Участник


Re: v7CLR: ВК для работы с .NET-типами без CCW
Ответ #60 - 24. Декабря 2008 :: 11:25
Печать  
[code]ЗагрузитьВнешнююКомпоненту( "v7CLR.dll" );
CLRFactory = СоздатьОбъект( "CLRFactory" );
ArrayList = CLRFactory.Создать( "System.Collections.ArrayList" );
ArrayList.Add( "item0" );[/code]
Подскажите, можно ли теперь извлечь добавленный элемент?
  
Наверх
 
IP записан
 
drumboss
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 3
Зарегистрирован: 08. Мая 2009
Re: v7CLR: ВК для работы с .NET-типами без CCW
Ответ #61 - 12. Мая 2009 :: 11:17
Печать  
Степан объясни пожалуйста поподробнее как откомпилировать компонент с MFC/Lib и MFC/Include от 6-й студии?
  
Наверх
 
IP записан
 
steban
1c++ developer
Отсутствует


#define sizeof(x) rand()

Сообщений: 787
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: v7CLR: ВК для работы с .NET-типами без CCW
Ответ #62 - 12. Мая 2009 :: 12:11
Печать  
  

int getRandomNumber()&&{&&  return 4; //chosen by fair dice roll&&         //guaranteed to be random&&}
Наверх
 
IP записан
 
Pelmen
Full Member
***
Отсутствует



Сообщений: 242
Зарегистрирован: 01. Июня 2006
Пол: Мужской
Re: v7CLR: ВК для работы с .NET-типами без CCW
Ответ #63 - 03. Июня 2009 :: 07:35
Печать  
отлично
большое спасибо)
  
Наверх
 
IP записан
 
Pelmen
Full Member
***
Отсутствует



Сообщений: 242
Зарегистрирован: 01. Июня 2006
Пол: Мужской
Re: v7CLR: ВК для работы с .NET-типами без CCW
Ответ #64 - 03. Июня 2009 :: 09:00
Печать  
steban писал(а) 28. Мая 2008 :: 21:08:
Кстати, для того, чтобы работал DataBinding, нужно явно инициализировать свойство BindingContext у контролов.
DataGridView по умолчанию использует BindingContext из родительской формы. И если он хостится на форме MFC, то Binding не работает. Подробности тут.

Код
Выбрать все
Процедура ПослеОткрытия()
	Factory=СоздатьОбъект("CLRFactory");
	G=Factory.CreateControl(Форма.ф,"System.Windows.Forms.DataGridView, System.Windows.Forms,
	|Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089");

	G.BindingContext=Factory.CreateInstance("System.Windows.Forms.BindingContext, System.Windows.Forms,
	|Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089");

	bs=Factory.CreateInstance("System.Windows.Forms.BindingSource, System.Windows.Forms,
		|Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089");
	DI=Factory.CreateInstance("System.IO.DriveInfo","c");
	BS.DataSource=DI.RootDirectory.GetDirectories();
	G.AutoGenerateColumns =1;
	G.DataSource=BS;
	G.ПривязатьСобытияККонтексту(Контекст,"grid_");
КонецПроцедуры	// ПослеОткрытия
 


Если используется несколько data-bound контролов, то стоит создать один BindingContext на всех.


а можно пример этой обработки?
у меня почему-то не работает и ошибок никаких не возникает
только при закрытии вываливается стандартная ошибка про память
  
Наверх
 
IP записан
 
davay2000
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 11
Зарегистрирован: 12. Июня 2009
Re: v7CLR: ВК для работы с .NET-типами без CCW
Ответ #65 - 15. Июня 2009 :: 08:54
Печать  
Подскажите. У меня не возвращаются события в 1с.
Как только не извращался - не заходит не в одну функцию ни в ФС_changed ни в ФС_renamed ни в ...

// ===============================
Процедура ФС_(s,e)
     Сообщить(e.ChangeType+" -"+e.Name);
КонецПроцедуры      // ФС_Changed


Процедура ФС_OnRenamed(s,e)
     Сообщить(e.ChangeType+" *"+e.Name);
КонецПроцедуры      // ФС_Changed

Процедура ФС_OnCreated(s,e)
     Сообщить(e.ChangeType+" /"+e.Name);
КонецПроцедуры      // ФС_Changed

Процедура ФС_OnChanged(s,e)
     Сообщить(e.ChangeType+" --"+e.Name);
КонецПроцедуры      // ФС_Changed

Процедура ФС_OnDeleted(s,e)
     Сообщить(e.ChangeType+" ++"+e.Name);
КонецПроцедуры      // ФС_Changed


Процедура ФС_disposed(s,e)
     Сообщить(e.ChangeType+" *"+e.Name);
КонецПроцедуры      // ФС_Changed

Процедура ФС_error(s,e)
     Сообщить(e.ChangeType+" *"+e.Name);
КонецПроцедуры      // ФС_Changed

Процедура ФС_renamed(s,e)
     Сообщить(e.ChangeType+" *"+e.Name);
КонецПроцедуры      // ФС_Changed

Процедура ФС_created(s,e)
     Сообщить(e.ChangeType+" /"+e.Name);
КонецПроцедуры      // ФС_Changed

Процедура ФС_changed(s,e)
     Сообщить(e.ChangeType+" --"+e.Name);
КонецПроцедуры      // ФС_Changed

Процедура ФС_deleted(s,e)
     Сообщить(e.ChangeType+" ++"+e.Name);
КонецПроцедуры      // ФС_Changed

//*******************************************
Процедура Сформировать()
     Factory=СоздатьОбъект("CLRFactory");

     //РАБОТАЕТ!!!!!!!!!!!!!!!!!
     инфо=Factory.Создать("System.IO.DriveInfo","c");
     Сообщить("На диске C: свободно "+инфо.AvailableFreeSpace+" байт");

     ФСНаблюдатель=СоздатьОбъект("!System.IO.FileSystemWatcher, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089");
     ФСНаблюдатель.Path="c:\temp\";
     ФСНаблюдатель.ПривязатьСобытияККонтексту(Контекст,"ФС_");
     
     //ФСНаблюдатель.Filter = "*.txt";

     ФСНаблюдатель.EnableRaisingEvents =1;

     сообщить("Наблюдатель установлен успешно.");
КонецПроцедуры

Процедура ПриОткрытии()
     Если ЗагрузитьВнешнююКомпоненту("v7CLR.dll") <> 1 Тогда
           Сообщить("Не удалось загрузить библиотеку v7CLR.dll");
           Форма.Закрыть();
           Возврат;
     КонецЕсли;
КонецПроцедуры

Помогите. Кто может. Уже кончилось терпение. Плачущий
  
Наверх
 
IP записан
 
steban
1c++ developer
Отсутствует


#define sizeof(x) rand()

Сообщений: 787
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: v7CLR: ВК для работы с .NET-типами без CCW
Ответ #66 - 15. Июня 2009 :: 10:06
Печать  
Pelmen писал(а) 03. Июня 2009 :: 09:00:
а можно пример этой обработки?
у меня почему-то не работает и ошибок никаких не возникает
только при закрытии вываливается стандартная ошибка про память

Вот
  

bindingtest.ert ( 6 KB | Загрузки )

int getRandomNumber()&&{&&  return 4; //chosen by fair dice roll&&         //guaranteed to be random&&}
Наверх
 
IP записан
 
davay2000
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 11
Зарегистрирован: 12. Июня 2009
Re: v7CLR: ВК для работы с .NET-типами без CCW
Ответ #67 - 15. Июня 2009 :: 14:18
Печать  
Вот обработка
  

TEST.ert ( 29 KB | Загрузки )
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: v7CLR: ВК для работы с .NET-типами без CCW
Ответ #68 - 15. Июня 2009 :: 17:15
Печать  
davay2000 писал(а) 15. Июня 2009 :: 14:18:
Вот обработка

У меня эта обработка выводит Цитата:
ок
Created /111.txt
Changed --111.txt
Changed --111.txt
Не удалось выполнить метод Finalize
Сообщить(e.ChangeType+" *"+e.Name);
{C:\1C\V7CLR\TEST.ERT(40)}: Поле агрегатного объекта не обнаружено (ChangeType)

т.е. обработчики событий вызываются, Finalize у этого типа нет (а и был бы - этот метод для gc, руками вызывать не стОит), ну и свойству ChangeType в обработчике события Disposed взяться неоткуда..
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
davay2000
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 11
Зарегистрирован: 12. Июня 2009
Re: v7CLR: ВК для работы с .NET-типами без CCW
Ответ #69 - 16. Июня 2009 :: 07:36
Печать  
А у меня не возвращаются  Смущённый
Подскажите ЧТО мне нужно сделать чтобы найти причину.

Может кто-то знает методы, функции .NET через которые можно хотябы просмотреть запущенные потоки, а лучше - список наблюдаемых каталогов, или просто подскажет как проверить установилось наблюдение или нет! Озадачен
  
Наверх
 
IP записан
 
berezdetsky
1c++ power user
Отсутствует


barba non facit sisadminum

Сообщений: 1986
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: v7CLR: ВК для работы с .NET-типами без CCW
Ответ #70 - 16. Июня 2009 :: 08:12
Печать  
хз. Если это поможет, то:
Vista SP1, .NET 3.5 SP1
1C 7.70.0.27
пустая конфигурация
1C++ 3.0.1.22
v7CLR 1.0.0.1 от 15.08.2008
  

пароль как коньяк, чем больше звездочек, тем лучше
Наверх
IP записан
 
davay2000
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 11
Зарегистрирован: 12. Июня 2009
Re: v7CLR: ВК для работы с .NET-типами без CCW
Ответ #71 - 16. Июня 2009 :: 11:39
Печать  
Не помогло. Правда пробовал на Win 2000.
Думаю проблема именно в FM. Но как его проверить?

Пробовал установить наблюдение за каталогом через ВК "AddIn.Gepard" - как ни странно работает. Я бы пользовался гепардовской ВК, но вся эта каша имменно из-за HP ноутбука на котором этот весь сырбор на Гепарде не работает. Т.е. работал, но после установки Акрониса - перестал и полная переустановка и формат С - не помог. Теперь ищу обходные пути(не через гепарда) доступа к фрэймфёрковской функции FileSystemWatcher.


Кто-нить может подсказать как проверить установилось ли наблюдение при помощи функции FileSystemWatcher?  Озадачен
  
Наверх
 
IP записан
 
steban
1c++ developer
Отсутствует


#define sizeof(x) rand()

Сообщений: 787
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: v7CLR: ВК для работы с .NET-типами без CCW
Ответ #72 - 16. Июня 2009 :: 11:49
Печать  
berezdetsky писал(а) 15. Июня 2009 :: 17:15:
У меня эта обработка выводит Цитата:
ок
Created /111.txt
Changed --111.txt
Changed --111.txt
Не удалось выполнить метод Finalize
Сообщить(e.ChangeType+" *"+e.Name);
{C:\1C\V7CLR\TEST.ERT(40)}: Поле агрегатного объекта не обнаружено (ChangeType)

какой интересный лог....

Дело в том, что на моей машине, с такой-же конфигурацией: berezdetsky писал(а) 16. Июня 2009 :: 08:12:
Vista SP1, .NET 3.5 SP1
1C 7.70.0.27
пустая конфигурация
1C++ 3.0.1.22
v7CLR 1.0.0.1 от 15.08.2008

события не ловятся.

davay2000 писал(а) 16. Июня 2009 :: 07:36:
А у меня не возвращаются  Смущённый

Погоняю дебаггером на выходных.
  

int getRandomNumber()&&{&&  return 4; //chosen by fair dice roll&&         //guaranteed to be random&&}
Наверх
 
IP записан
 
steban
1c++ developer
Отсутствует


#define sizeof(x) rand()

Сообщений: 787
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: v7CLR: ВК для работы с .NET-типами без CCW
Ответ #73 - 16. Июня 2009 :: 11:50
Печать  
steban писал(а) 16. Июня 2009 :: 11:49:
Дело в том, что на моей машине, с такой-же конфигурацией

Разрабатывалось и тестировалось на другой машине.
  

int getRandomNumber()&&{&&  return 4; //chosen by fair dice roll&&         //guaranteed to be random&&}
Наверх
 
IP записан
 
steban
1c++ developer
Отсутствует


#define sizeof(x) rand()

Сообщений: 787
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: v7CLR: ВК для работы с .NET-типами без CCW
Ответ #74 - 16. Июня 2009 :: 11:57
Печать  
Нашел!
Вот тут: steban писал(а) 16. Июня 2009 :: 11:49:
на моей машине, с такой-же конфигурацией: berezdetsky писал(а) 16. Июня 2009 :: 08:12:
Vista SP1, .NET 3.5 SP1
1C 7.70.0.27
пустая конфигурация
1C++ 3.0.1.22
v7CLR 1.0.0.1 от 15.08.2008

события не ловятся.

я чуток приврал. 1с++ при проверке была не загружена.

Так что для обработки событий нужно просто загрузить 1с++. Улыбка

я мог бы и раньше догадаться... внутренности 1с++ постепенно выветриваются из головы
  

int getRandomNumber()&&{&&  return 4; //chosen by fair dice roll&&         //guaranteed to be random&&}
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 ... 3 4 [5] 6 
ОтправитьПечать