Страница 1 из 2
Проблема с компилированием формы.
Добавлено: 14 дек 2009, 14:24
Гапоненко
Доброго времени суток.
Подскажите, пожалуйста, Пытаюсь компилировать РЕЕСТР ДО в .xls (.slk) прототип bdocrst.frm
Не отрабатывает данная фрнка vbdproc.frn.
Подскажите, может для этого требуется еще какая нить .frn или .vih, или еще что-нибудь.
Заранее благодарю.
Добавлено: 14 дек 2009, 15:20
edward_K
Не в той теме конечно.
а что точно написано в vip_res.log? или компилите сапортом? там тоже чего то будет написаною
Добавлено: 14 дек 2009, 15:43
Гапоненко
Компилирую строчником.
Не могу найти vip_res.log
А так пишет что:
Нет такой функции, поля или метода oValFunc.InitVal;
Добавлено: 14 дек 2009, 16:22
edward_K
ну это ключиков не хватает в vip.cfg
а версия у вас 712?
попробуйте в проект добавить
#include valfunc.vih
если есть такой файл, иначе делайте свою frn без этой переменной.
Добавлено: 14 дек 2009, 17:21
Гапоненко
Гал. 8.10
Этот файл подключил, но
не нашел valfuncvih.vpp
Добавлено: 16 дек 2009, 19:16
Гапоненко
Да, деиствительно
Подключил
valfunc.var
valfunc.vih
отработал.
СПАСИБО
edward_K Респект и уважуха.
Re: Проблема с компилированием формы.
Добавлено: 08 сен 2011, 16:50
Rishat
Аналогичная проблема. Компилируем строчником.
В файле проекта указали
#include ValFunc.var
#include ValFunc.vih
#make "reestr.slk"
в ту же папку закинули оба файлика ValFunc.var, ValFunc.vih
При компиляции вываливает
Interface compiler. Версия 5.4.36 (c) 1992-2011, корпорация "Галактика"
VALFUNC.VAR(14)
Ошибка: Ожидалось имя или описание типа (стр.14, поз.25 в VALFUNC.VAR)
var oValFunc: ValFuncsV3;
^ [ Enter-продолжить ] :
Я так понимаю не находит oValFunc который описан в ValFuncVih.vpp, который подключается в ValFuncV1.vih, ValFuncV2.vih, ValFuncV3.vih, которые в
свою очередь подключаются в ValFunc.vih. Файла ValFuncVih.vpp в папке FRM не нашёл. Как решить проблему? м.б. у кого есть в наличии данный файлик?
Re: Проблема с компилированием формы.
Добавлено: 09 сен 2011, 08:45
Semi-bit
Насколько я могу судить по расширению, ValFunc.var надо не в начале проекта подключать, а в разделе описания переменных, например, внутри вьюхи или интерфейса.
Re: Проблема с компилированием формы.
Добавлено: 09 сен 2011, 10:46
edward_K
ну или по кранйе мере строки местами поменять, а то сначала переменная с типом, а потом сам тип.
Обычно глобальное объявление используют только для того что нужно всем и всегда.
Re: Проблема с компилированием формы.
Добавлено: 10 сен 2011, 03:33
Rishat
edward_K писал(а):ну или по кранйе мере строки местами поменять, а то сначала переменная с типом, а потом сам тип.
Обычно глобальное объявление используют только для того что нужно всем и всегда.
Пробовали и так и так, только проблему это не решило, вылезает след.сообщение
Код: Выделить всё
Interface compiler. Версия 5.4.36 (c) 1992-2011, корпорация "Галактика"
VALFUNCV2.VIH(23)
Ошибка: Ошибка при открытии include файла VALFUNCVIH.VPP (стр.23, поз.24 в VALF
UNCV2.VIH)
#include ValFuncVih.vpp
^ [ Enter-продолжить ] :
Re: Проблема с компилированием формы.
Добавлено: 10 сен 2011, 11:38
edward_K
Ну это уже проще. Но еще раз подумайте прежде чем что то объявлять глобально - можете добится неустойчивой работы в других местах.
В прочем если бы вы подключали в проект galnet.inc то эта бы переменная объявилась в автомате - смотрите GloVars.inc и GloTypes.inc
ValFuncVih.vpp
Код: Выделить всё
//******************************************************************************
// (c) корпорация Галактика
// Галактика 7.12 - Общие функции
// Декларирование методов объекта работы с валютами
//******************************************************************************
#doc
возвращает количество из классификатора валют (или единицу, если не указано)
#end
Function GetValSumValut(cVal: comp): double;
//******************************************************************************
#doc
возвращает курс валюты (ноль для национальной) на указанную дату
#end
Function Rate(
cValRate : comp;
dat : date
): double;
//******************************************************************************
#doc
переводит сумму из одной валюты в другую по курсу на дату
#end
Function CurrencyExchange(
cValFrom : comp;
Sum : double;
cValTo : comp;
dat : date
): double;
//******************************************************************************
#doc
Обновление временных таблиц
#end
Procedure Refresh;
//******************************************************************************
#doc
вывод отчета о не найденных курсах валют
#end
Procedure WasErrorValut;
//******************************************************************************
#doc
вазовая валюта
#end
Function ValBase: comp;
//******************************************************************************
#doc
наименование базовой валюты
#end
Function ValBaseName: string[30];
//******************************************************************************
#doc
символ базовой валюты
#end
Function ValBaseSimv: string[6];
//******************************************************************************
#doc
валюта отчетов
#end
Function ValTar: comp;
//******************************************************************************
#doc
наименование валюты отчетов
#end
Function ValTarName: string[30];
//******************************************************************************
#doc
символ валюты отчетов
#end
Function ValTarSimv: string[6];
//******************************************************************************
#doc
наименование национальной валюты
#end
Function ValNatName: string[30];
//******************************************************************************
#doc
символ национальной валюты
#end
Function ValNatSimv: string[6];
//******************************************************************************
// использовать вместо GetSimvAndName
#doc
возвращает символ и наименование валюты в !!!ТВОРИТЕЛЬНОМ ПАДЕЖЕ!!!
национальную тоже понимает, возвращает соответствующие настройки
#end
Function GetValSimvName(
cVal : comp;
var Simv : string;
var Name : string
): boolean;
//******************************************************************************
#doc
возвращает символ валюты
#end
Function GetValSimv(_cVal: comp): string;
//******************************************************************************
#doc
возвращает наименование валюты
#end
Function GetValName(_cVal: comp): string;
//******************************************************************************
#doc
инициализация переменных объектного интерфейса для работоспособности некоторых функций
#end
Procedure InitVars;
//******************************************************************************
#doc
инициализация объектного интерфейса
#end
Procedure InitVal;
//******************************************************************************
// вызывать перед ShowFile для вывода сообщения в случае, если при пересчете курсов были ошибки
#doc
вызывать перед ShowFile для вывода сообщения в случае, если при пересчете курсов были ошибки
#end
Procedure DoneVal;
//******************************************************************************
#doc
поиск курса валюты cVal на дату DAT
#end
#ifdef _ValFuncV3_
Function GetCurse(
_cVal : comp;
dat : date;
var kurs : double
): boolean;
#else
Function GetCurse(
var _cVal : comp;
var dat : date;
var kurs : double
): boolean;
#end
//******************************************************************************
#doc
#end
#ifdef _ValFuncV3_
Function GetCurrencyPrimitive(
ValSrc : comp;
SumSrc : double;
ValTo : comp;
dCourse : date
): double;
#else
Function GetCurrencyPrimitive(
var ValSrc : comp;
var SumSrc : double;
var ValTo : comp;
var dCourse : date
): double;
#end
//******************************************************************************
#doc
возврат суммы в валюте отчетов
#end
#ifdef _ValFuncV3_
Function GetCurrency(
ValSrc : comp;
SumSrc : double;
dCourse : date
): double;
#else
Function GetCurrency(
var ValSrc : comp;
var SumSrc : double;
var dCourse : date
): double;
#end
//******************************************************************************
#doc
возврат суммы в базовой валюте
#end
#ifdef _ValFuncV3_
Function GetBaseCurrency(
ValSrc : comp;
SumSrc : double;
dCourse : date
): double;
#else
Function GetBaseCurrency(
var ValSrc : comp;
var SumSrc : double;
var dCourse : date
): double;
#end
//******************************************************************************
#doc
возврат суммы в национальной валюте
#end
#ifdef _ValFuncV3_
Function GetNatCurrency(
ValSrc : comp;
SumSrc : double;
dCourse : date
): double;
#else
Function GetNatCurrency(
var ValSrc : comp;
var SumSrc : double;
var dCourse : date
): double;
#end
//******************************************************************************
#doc
возврат суммы в любой заданной валюте
#end
#ifdef _ValFuncV3_
Function GetAnyCurrency(
ValSrc : comp;
SumSrc : double;
dCourse : date;
targval : comp
): double;
#else
Function GetAnyCurrency(
var ValSrc : comp;
var SumSrc : double;
var dCourse : date;
var targval : comp
): double;
#end
//******************************************************************************
#doc
возврат суммы в национальной валюте
#end
#ifdef _ValFuncV3_
Procedure GetNatTarCurrency(
ValSrc1 : comp;
SumSrc1 : double;
ValSrc2 : comp;
SumSrc2 : double;
dCourse : date;
var ResNat : double;
var ResTar : double
);
#else
Procedure GetNatTarCurrency(
var ValSrc1 : comp;
var SumSrc1 : double;
var ValSrc2 : comp;
var SumSrc2 : double;
var dCourse : date;
var ResNat : double;
var ResTar : double
);
#end
//******************************************************************************
#doc
возврат суммы в валюте отчетов исходя из 2 сумм: в национальной и указанной валютах
#end
Function GetTarCurrency(
ValSrc : comp; // валюта операции
SumSrcV : double; // сумма в валюте
SumSrcR : double; // сумма в НДЕ
dCourse : date // дата операции
): double;
//******************************************************************************
#doc
анализ настройки пользователя для пересчета валют
#end
Function ReCalcCursVal: boolean;
//******************************************************************************
#doc
выбор валюты Pick и пересчет сумм
#end
#ifdef _ValFuncV3_
Function ChoiceVal(
var ValSrc : comp;
dCourse : date;
var SumSrc : double;
var SumSrcV : double
): boolean;
#else
Function ChoiceVal(
var ValSrc : comp;
var dCourse : date;
var SumSrc : double;
var SumSrcV : double
): boolean;
#end
//******************************************************************************
#doc
обработка сумм в НДЕ, валюте и даты операции
пересчет сумм в валюте (НДЕ) при корректировке соответствующего поля
#end
#ifdef _ValFuncV3_
Procedure ReCalcSumRubVal(
isSumRub : boolean; //true-коррект. сумма в НДЕ = CurField
dCourse : date;
ValSrc : comp;
var SumSrc : double;
var SumSrcV : double
);
#else
Procedure ReCalcSumRubVal(
isSumRub : boolean; //true-коррект. сумма в НДЕ = CurField
dCourse : date;
var ValSrc : comp;
var SumSrc : double;
var SumSrcV : double
);
#end
//******************************************************************************
#doc
пересчет суммы в валюте в РУБЛИ с учетом процента к курсу
if OkPlus = TRUE -> сколько должен заплатить учетом процента
= FALSE -> сколько заплачено фактически с учетом процента
#end
Function CalcRubValMoney(
OkPlus : boolean;
ValSrc : comp;
dCourse : date;
sCourse : double;
SumProc : double;
SumSrcV : double
): double;
//******************************************************************************
#doc
пересчет суммы в рублях в ВАЛЮТУ с учетом процента к курсу
#end
Function CalcValRubMoney(
ValSrc : comp;
dCourse : date;
sCourse : double;
SumProc : double;
SumSrcR : double
): double;
//******************************************************************************
#doc
пересчет суммы ВАЛЮТЕ в РУБЛИ с учетом процента к курсу
#end
Function CalcSumValRubDO(
ValSrc : comp;
dCourse : date;
sCourse : double;
SumProc : double;
SumSrcV : double
): double;
//******************************************************************************
#ifdef _ValFuncV2_
#doc
пересчет суммы в валюте в рубли и наоборот
#end
Function CheckSumVal(
ValSrc : comp;
dCourse : date;
var SumSrc : double;
var SumSrcV : double
): boolean;
#end
//******************************************************************************
#ifdef _ValFuncV3_
#doc
получение символа валюты
#end
Function GetValSymbol(ValSrc: comp): string;
#end
//******************************************************************************
Re: Проблема с компилированием формы.
Добавлено: 17 сен 2011, 14:07
Rishat
После подключения vpp файла отчет компилируется без ошибок. Но при при попытке сформировать отчет выходит сообщение след.содержания
Код: Выделить всё
---------------------------
Предупреждение
---------------------------
Возникло необработанное исключение
ExObjIfcNoImpl (ExRef)
приведение L_VAL::ValFuncsV3 к нереализованому ObjInterface "tValFuncsV3_0"
"Да" - Продолжить, "Нет" - Отлаживать в окне отладчика
"Отмена" - Не выдавать больше это сообщение
---------------------------
Да Нет Отмена
---------------------------
Re: Проблема с компилированием формы.
Добавлено: 18 сен 2011, 01:41
edward_K
Странно.
проверте valfunc.vih и все инклюды к нему. Пустышки создавать нельзя.
Код: Выделить всё
//******************************************************************************
#ifNdef __ValFunc_vih__
#define __ValFunc_vih__
//******************************************************************************
#ifdef ComponentVersion
#component "L_VAL"
#end
#doc
Объектный интерфейс для работы с классификатором валют и курсами. Версия 3.
#end
ObjInterface tValFuncsV3;
#doc
выбор валюты и пересчет сумм с возвратом выбранной даты курса валюты
#end
Function ChoiceValD(
var ValSrc : comp;
var dCourse : date;
var SumSrc : double;
var SumSrcV : double
): boolean;
End;
//******************************************************************************
// свежая версия:
#include ValFuncV2.vih
#include ValFuncV3.vih
//******************************************************************************
#end
ValFuncV3.Vih
Код: Выделить всё
#ifndef __ValFuncV3_vih__
#define __ValFuncV3_vih__
//******************************************************************************
#ifdef ComponentVersion
#component "L_VAL"
#end
#doc
Объектный интерфейс описывает методы для работы с классификатором валют и курсами. Версия 3.
#end
ObjInterface tValFuncsV3_0;
#define _ValFuncV2_
#define _ValFuncV3_
#include ValFuncVih.vpp
#undef _ValFuncV3_
#undef _ValFuncV2_
End;
//******************************************************************************
VipInterface ValFuncsV3 implements tValFuncsV3_0, tValFuncsV3 licensed(FREE);
//******************************************************************************
#end
Re: Проблема с компилированием формы.
Добавлено: 18 сен 2011, 15:53
Rishat
Так откуда пустышкам взяться.Все эти инклуды (ValFuncV2.vih,ValFuncV3.vih)лежат в папке с проектом. ValFuncV3.vih абсолютно идентичен тому, что выложили. Было бы странно если бы они отличались, т.к. из одного и того же каталога FRM берутся.
Но факт остается фактом - отчет не формируется.
Файлы проекта
Re: Проблема с компилированием формы.
Добавлено: 19 сен 2011, 08:05
KATZ
Попробуйте в PRJ-файле первой строкой добавить
Должно помочь.