v7: Разработка внешней компоненты 1С. Ошибка "Поле агрегатного объекта не обнаружено" #808145


#0 by lowuser
Нужна помощь. Делаю внешнюю компоненту для 1С 7.7, все по примеру, компонента к 1С подключается, создается объект, но при попытке обращения к методам данного объекта 1С выдает ошибку что Поле агрегатного объекта не обнаружено.
#1 by asady
значит обращаешься к методу как к атрибуту
#2 by Масянька
Не объявил, как глоб. переменную.
#3 by v77
Значит поле агрегатного объекта не обнаружено
#4 by lowuser
{These two methods is convenient way to access function        parameters from SAFEARRAY vector of variants }     function GetNParam(var pArray : PSafeArray; lIndex: Integer ): OleVariant;     procedure PutNParam(var pArray: PSafeArray; lIndex: Integer; var varPut: OleVariant);     function RegisterExtensionAs(var bstrExtensionName: WideString): HResult; stdcall;     function GetNProps(var plProps: Integer): HResult; stdcall;     function FindProp(const bstrPropName: WideString; var plPropNum: Integer): HResult; stdcall;     function GetPropName(lPropNum, lPropAlias: Integer; var pbstrPropName: WideString): HResult; stdcall;     function GetPropVal(lPropNum: Integer; var pvarPropVal: OleVariant): HResult; stdcall;     function SetPropVal(lPropNum: Integer; var varPropVal: OleVariant): HResult; stdcall;     function IsPropReadable(lPropNum: Integer; var pboolPropRead: Integer): HResult; stdcall;     function IsPropWritable(lPropNum: Integer; var pboolPropWrite: Integer): HResult; stdcall;     function GetNMethods(var plMethods: Integer): HResult; stdcall;     function FindMethod(const bstrMethodName: WideString; var plMethodNum: Integer): HResult; stdcall;     function GetMethodName(lMethodNum, lMethodAlias: Integer; var pbstrMethodName: WideString): HResult; stdcall;     function GetNParams(lMethodNum: Integer; var plParams: Integer): HResult; stdcall;     function GetParamDefValue(lMethodNum, lParamNum: Integer; var pvarParamDefValue: OleVariant): HResult; stdcall;     function HasRetVal(lMethodNum: Integer; var pboolRetValue: Integer): HResult; stdcall;     function CallAsProc(lMethodNum: Integer; var paParams: PSafeArray{(OleVariant)}): HResult; stdcall;     function CallAsFunc(lMethodNum: Integer; var pvarRetValue: OleVariant; var paParams: PSafeArray{(OleVariant)}): HResult; stdcall;             { IDispatch }     function GetTypeInfo(Index, LocaleID: Integer; out TypeInfo): HResult; virtual; stdcall;     function GetTypeInfoCount(out Count: Integer): HResult; virtual; stdcall;     function Invoke(DispID: Integer; const IID: TGUID; LocaleID: Integer; implementation procedure TAddInSocket.PutNParam(var pArray: PSafeArray; lIndex: Integer; var varPut: OleVariant); begin function TAddInSocket.GetPages(out Pages: TCAGUID) : HResult; stdcall; function TAddInSocket.RegisterExtensionAs(var bstrExtensionName: WideString): HResult; stdcall; begin function TAddInSocket.GetNProps(var plProps: Integer): HResult; stdcall; begin function TAddInSocket.FindProp(const bstrPropName: WideString; var plPropNum: Integer): HResult; stdcall; begin function TAddInSocket.GetPropName(lPropNum, lPropAlias: Integer; var pbstrPropName: WideString): HResult; stdcall; begin        LastProp: function TAddInSocket.GetPropVal(lPropNum: Integer; var pvarPropVal: OleVariant): HResult; stdcall; begin         LastProp:         else function TAddInSocket.SetPropVal(lPropNum: Integer; var varPropVal: OleVariant): HResult; stdcall;        LastProp:         else function TAddInSocket.IsPropReadable(lPropNum: Integer; var pboolPropRead: Integer): HResult; stdcall;         LastProp:         else function TAddInSocket.IsPropWritable(lPropNum: Integer; var pboolPropWrite: Integer): HResult; stdcall;         LastProp:         else function TAddInSocket.GetNMethods(var plMethods: Integer): HResult; stdcall; begin function TAddInSocket.FindMethod(const bstrMethodName: WideString; var plMethodNum: Integer): HResult; stdcall; begin function TAddInSocket.GetMethodName(lMethodNum, lMethodAlias: Integer; var pbstrMethodName: WideString): HResult; stdcall; begin function TAddInSocket.GetNParams(lMethodNum: Integer; var plParams: Integer): HResult; stdcall; begin function TAddInSocket.GetParamDefValue(lMethodNum, lParamNum: Integer; var pvarParamDefValue: OleVariant): HResult; stdcall; begin function TAddInSocket.HasRetVal(lMethodNum: Integer; var pboolRetValue: Integer): HResult; stdcall; begin function TAddInSocket.CallAsProc(lMethodNum: Integer; var paParams: PSafeArray{(OleVariant)}): HResult; stdcall;         methSend:         LastMethod:         else function TAddInSocket.CallAsFunc(lMethodNum: Integer; var pvarRetValue: OleVariant; var paParams: PSafeArray{(OleVariant)}): HResult; stdcall;         methSend:         LastMethod: function TAddInSocket.GetTypeInfoCount(out Count: Integer): HResult; function TAddInSocket.Invoke(DispID: Integer; const IID: TGUID; LocaleID: Integer; initialization                  ComObj_Name, 'V7 AddIn 2.0', ciSingleInstance); end.
#5 by v77
возьми да в отладчике посмотри
#6 by v77
TermString какой то выдумал. Будь проще. Может большие и маленькие буквы?
#7 by lowuser
Точно не из-за Больших и маленьких - пробовал по всякому...
#8 by lowuser
Идей больше ни у кого нет? (((
#9 by v77
ты в отладчике смотрел? вот посмотри.
#10 by trdm
Фигани на гитхаб. А то текст модулей нечитаем вобще
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям