Проблема с MCOriginCountry в 810
Добавлено: 26 июл 2007, 09:49
Поискал решение проблемы на форуме - не нашел!
Как компилировать я понял, да и не было проблем с компиляцией!
Вообщем есть форма СФ которая исправно работала в 712, сейчас с переходом на 810 надо перекомпилировать эту форму. В этой форме используется интерфейс MCOriginCountry, форма компилируется на отлично, но вот при запуске ее выдоется ошибка о необработанном исключении с текством "Ошибка закрузки интерфейса MCOriginCountry из ресурсного файла".
В начале формы прописано так
.declare
#ifndef __MCORIGINCOUNTRY_VIH
#define __MCORIGINCOUNTRY_VIH
#ifdef ComponentVersion
#component "L_SF"
#endif
ObjInterface IMCOriginCountry;
function getCountryName(cMC: comp; cParty: comp): string;
function getGTDNumber(cParty: comp): string;
end;
VipInterface MCOriginCountry implements IMCOriginCountry
#ifdef ATL51
Licensed (FREE)
#end
;
#end
.enddeclare
А в коде такой вызов:
var iCountry: MCOriginCountry;
SrcCountry := ’-’;
GTDNumber := ’-’;
if (vSpSchF.SpSchF.PrMC = 1) {
SrcCountry := if (trim(iCountry.getCountryName(vSpSchF.SpSchF.cMCUsl, vSpSchF.SpSchF.cParty)) = ’’, ’-’, iCountry.getCountryName(vSpSchF.SpSchF.cMCUsl, vSpSchF.SpSchF.cParty));
GTDNumber := if (trim(iCountry.getGTDNumber(vSpSchF.SpSchF.cParty)) = ’’, ’-’, iCountry.getGTDNumber(vSpSchF.SpSchF.cParty));
} else
{SrcCountry := ’-’;
GTDNumber := ’-’;
}
В чем проблема не могу понять, может в 8 изменился вызов интерфейса? Хотя в ресурснике L_SF этот интерфейс лежит, все имена и остались без изменений!
Возможно надо использовать так, но это не компилируется:
var iCountry: :IMCOriginCountry;
If (GetVipInterface (iCountry))
Message (‘VIP интерфейс загружен успешно!’);
SrcCountry := ’’;
GTDNumber := ’’;
if (vSpSchF.SpSchF.PrMC = 1) {
SrcCountry := if (trim(iCountry.getCountryName(vSpSchF.SpSchF.cMCUsl, vSpSchF.SpSchF.cParty)) = ’’, ’-’, iCountry.getCountryName(vSpSchF.SpSchF.cMCUsl, vSpSchF.SpSchF.cParty));
GTDNumber := if (trim(iCountry.getGTDNumber(vSpSchF.SpSchF.cParty)) = ’’, ’-’, iCountry.getGTDNumber(vSpSchF.SpSchF.cParty));
} else
{SrcCountry := ’-’;
GTDNumber := ’-’;
}
FreeVIPInterface(iCountry );
Как компилировать я понял, да и не было проблем с компиляцией!
Вообщем есть форма СФ которая исправно работала в 712, сейчас с переходом на 810 надо перекомпилировать эту форму. В этой форме используется интерфейс MCOriginCountry, форма компилируется на отлично, но вот при запуске ее выдоется ошибка о необработанном исключении с текством "Ошибка закрузки интерфейса MCOriginCountry из ресурсного файла".
В начале формы прописано так
.declare
#ifndef __MCORIGINCOUNTRY_VIH
#define __MCORIGINCOUNTRY_VIH
#ifdef ComponentVersion
#component "L_SF"
#endif
ObjInterface IMCOriginCountry;
function getCountryName(cMC: comp; cParty: comp): string;
function getGTDNumber(cParty: comp): string;
end;
VipInterface MCOriginCountry implements IMCOriginCountry
#ifdef ATL51
Licensed (FREE)
#end
;
#end
.enddeclare
А в коде такой вызов:
var iCountry: MCOriginCountry;
SrcCountry := ’-’;
GTDNumber := ’-’;
if (vSpSchF.SpSchF.PrMC = 1) {
SrcCountry := if (trim(iCountry.getCountryName(vSpSchF.SpSchF.cMCUsl, vSpSchF.SpSchF.cParty)) = ’’, ’-’, iCountry.getCountryName(vSpSchF.SpSchF.cMCUsl, vSpSchF.SpSchF.cParty));
GTDNumber := if (trim(iCountry.getGTDNumber(vSpSchF.SpSchF.cParty)) = ’’, ’-’, iCountry.getGTDNumber(vSpSchF.SpSchF.cParty));
} else
{SrcCountry := ’-’;
GTDNumber := ’-’;
}
В чем проблема не могу понять, может в 8 изменился вызов интерфейса? Хотя в ресурснике L_SF этот интерфейс лежит, все имена и остались без изменений!
Возможно надо использовать так, но это не компилируется:
var iCountry: :IMCOriginCountry;
If (GetVipInterface (iCountry))
Message (‘VIP интерфейс загружен успешно!’);
SrcCountry := ’’;
GTDNumber := ’’;
if (vSpSchF.SpSchF.PrMC = 1) {
SrcCountry := if (trim(iCountry.getCountryName(vSpSchF.SpSchF.cMCUsl, vSpSchF.SpSchF.cParty)) = ’’, ’-’, iCountry.getCountryName(vSpSchF.SpSchF.cMCUsl, vSpSchF.SpSchF.cParty));
GTDNumber := if (trim(iCountry.getGTDNumber(vSpSchF.SpSchF.cParty)) = ’’, ’-’, iCountry.getGTDNumber(vSpSchF.SpSchF.cParty));
} else
{SrcCountry := ’-’;
GTDNumber := ’-’;
}
FreeVIPInterface(iCountry );