Люююююдииии!!!
Ну почему? почему работает вот это:
PHP код:
Dim Appl, Cust As Object
Set Appl = CreateObject("V77.Application")
result = Appl.Initialize(Appl.RMTrade, "/D""C:\1Cv77\1SBDemo"" /M", "NO_SPLASH_SHOW")
If result = 0 Then
MsgBox ("Приложение не инициализировано")
Else
Set Cust = Appl.CreateObject("Справочник.Контрагенты")
Cust.FindByCode ("000031")
MsgBox (Cust.Наименование)
End If
или вот это:
PHP код:
var
V,C : Variant;
begin
V := CreateOleObject('V77.Application');
V.Initialize(V.RMTrade, '/D "C:\1Cv77\1SBDemo" /M', 'NO_SPLASH_SHOW');
C := V.CreateObject('Справочник.Контрагенты');
C.FindByCode('000031');
ShowMessage(C.Наименование);
end;
а в аксапте под WinXP не пашет ни вот это:
PHP код:
COM v77,
cust;
int res;
v77 = new COM("V77.Application");
res = v77.Initialize(v77.RMTrade(), '/D "C:\\1Cv77\\1SBDemo" /M', 'NO_SPLASH_SHOW');
if (!res) throw error('Ошибка при инициализации 1С');
cust = v77.CreateObject('Справочник.Контрагенты');
res = cust.FindByCode("000031",0);
print(cust.Наименование());
pause;
ни вот так:
PHP код:
COMDispFunction find = new COMDispFunction(dict, 'НайтиПоКоду', COMDispContext::Method);
COMVariant code = new COMVariant(COMVariantInOut::In,COMVariantType::VT_BSTR);
COMVariant attr = new COMVariant(COMVariantInOut::In,COMVariantType::VT_INT);
COMVariant ret = new COMVariant(COMVariantInOut::Out_retVal,COMVariantType::VT_BOOL);
code.bStr('000031');
attr.int(0);
find.call(code,attr,ret);

Причем тот же код работает под 98-ми виндами... Не понимаю