Здраствуйте.
label1.Text = "Режим подключения к 1с";
V7 = Activator.CreateInstance(Type.GetTypeFromProgID("V77.Application"));
Object[] arg = new Object[3];
arg[0] = V7.GetType().InvokeMember("RMTrade", BindingFlags.Public | BindingFlags.InvokeMethod, null, V7, null);
arg[1] = @"/dD:\zbase\База /nOr /p32 ";
arg[2] = @"NO_SPLASH_SHOW";
bool result = (Boolean)V7.GetType().InvokeMember(@"Initialize", BindingFlags.Public | BindingFlags.InvokeMethod, null, V7, arg);
if (!result)
{
label1.Text = "соединение с 1с отсутствуит";
V7 = null;
GC.Collect();
GC.WaitForPendingFinalizers();
}
else
{
label1.Text = "соединение к 1с установлено";
arg = new Object[1];
arg[0] = "глПолучить1("+line_z+")";
Result = V7.GetType().InvokeMember("EvalExpr", BindingFlags.Public | BindingFlags.InvokeMethod, null, V7, arg).ToString();
}
label1.Text = "закрываем соединение к 1с";
V7 = null;
GC.Collect();
GC.WaitForPendingFinalizers();
В этом коде я пытаюсь запустить в 1с функцию и передать в неё параметр. так вот не получеться передать параметр. Подскажите как правильно мне это сделать?
пробовал писать вот так и все работает.
arg = new Object[1];
arg[0] = @"глПолучить1(""1"")";
В 1с функция просто возврашает переданое в неё значение.
Блогадарен за внимание.