Добрый день уважаемые, есть проблема с использованием функции ExtractDelimitedWord. VIP отказывается ее видеть. Хотя в файле конфигураций указываю на ресурс ExtFun.res.
Вот что именно говорит компилятор:
Ошибка: Нет такой функции, поля или метода : EXTRACTDELIMITEDWORD (стр.780, поз.47 в ....
Вот так вот подключаю рессурс:
VIP.cfg
[System]
EditorFileMask=*.*
OpenResources=D:\GALAXY\gal810\exe\Extfun.res
OpenResources=D:\GALAXY\gal810\exe\F_PoDot.res
Вот такой строчкой собираю:
%ApiExePath%\vip.exe OOTiZ.prj /R:user.res /c:vip.cfg
Подскажите, вчем может быть ошибка....
VIP Не находит ExtractDelimitedWord
Модераторы: m0p3e, edward_K, Модераторы
Вроде всё правильно написано. В вашем проекте случайно нет докомпилируемых интерфейсов? А то однажды сталкивался с таким явлением. Где-то в середине проекта была докомпиляция интерфейса, а после него шла компиляция какой-то FRM-ки, так VIP точно так же ругался на функцию String в FRM-ке! Перенес всю докомпиляцию в конец проекта - заработало!
помнится какая-то кривая реализация была у той функции, написали свою
Код: Выделить всё
private function GetGroupSubStr(str : string; grNum : byte; delim : string) : string;
{
result := '';
var curGrNum : byte; // Текуший блок
var delimPos : byte; // Позиция разделителя
for (curGrNum := 1; curGrNum <= grNum; curGrNum++)
{
delimPos := InStr(delim, str);
if (curGrNum = grNum) // Нашли нужную группу
{
result := if(delimPos > 0, SubStr(str, 1, delimPos - 1), str);
exit;
}
else if (delimPos = 0)
exit;
str := SubStr(str, delimPos + 1, Length(str) - delimPos);
}
}