Создание объекта из внешней компоненты на C# Ключевые слова: .NET, C#, ВК 1С v77
public int СоздатьОбъект(string ВидОбъекта)
{
int Результат = 0;
try
{
Объект1С.obj1C = V7Data.V7Object.GetType().InvokeMember("AppDispatch", BindingFlags.GetProperty, null, V7Data.V7Object, null);
this.ВидОбъекта = ВидОбъекта;
Object[] Параметры = new Object[1];
Параметры[0] = ВидОбъекта;
this.ТекущийОбъект = Объект1С.obj1C.GetType().InvokeMember("CreateObject", BindingFlags.GetProperty, null, obj1C, Параметры);
Результат = 1;
}
catch (Exception e)
{
MessageBox.Show(e.Message);
}
return Результат;
}
public int УничтожитьОбъект()
{
int Результат = 0;
try
{
Marshal.Release(Marshal.GetIDispatchForObject(obj1C));
Marshal.ReleaseComObject(obj1C);
Объект1С.obj1C = null;
this.ТекущийОбъект = null;
Результат = 1;
}
catch
{
// MessageBox.Show(e.Message);
}
return Результат;
}
public Object ВыполнитьФункцию(string НаименованиеФункции, Object[] Параметры)
{
Object Результат = null;
try
{
Результат = ТекущийОбъект.GetType().InvokeMember(НаименованиеФункции, BindingFlags.InvokeMethod, null, ТекущийОбъект, Параметры);
}
catch (Exception e)
{
MessageBox.Show(e.Message);
}
return Результат;
}
public Object ВыполнитьФункциюБП(string НаименованиеФункции)
{
Object Результат = null;
try
{
Результат = ТекущийОбъект.GetType().InvokeMember(НаименованиеФункции, BindingFlags.InvokeMethod, null, ТекущийОбъект, null);
}
catch (Exception e)
{
MessageBox.Show(e.Message);
}
return Результат;
} |