Имя: Пароль:
1C
1С v8
Внешняя компонента на c#
0 Vladas86
 
14.11.11
10:10
Привет!
Встала необходимость создания внешней компоненты для 1с8 и все бы ничего, но вот захотелось в качестве параметров передавать не базовые типы, а объекты одинэски. И тут я что-то потерялся. ИТС под рукой нет, в интернетах облазил почти все ничего не нашел.

Собственно вот код:
public void CallAsFunc(int lMethodNum, ref object pvarRetValue,           [MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_VARIANT)]ref object[] pParams){
   Type v8type = Type.GetTypeFromProgID("V82.Application");
   MessageBox.Show(String.Format("Connecting\n{0} - v8type GUID, {1} - object GUID", v8type.GUID, newEmailProfile.GetType().GUID));
   String result = (string)v8type.InvokeMember("SMTPSeverAddress", BindingFlags.GetProperty | BindingFlags.GetField | BindingFlags.Default, null, newEmailProfile, new Object[0]);
}

GUID объекта пустой, при Invoke, естественно, падает.
Что я делаю не так?
1 Vladas86
 
14.11.11
10:28
Ой, у меня тут ошибка: вместо newEmailProfile - pParams[0]
Но сути не меняет)