Помогите розобраться UDF для FireBirda на Borland C++ 5.0
Добавлено: 12 мар 2007, 16:43
Решил розобраться с УДФ-ками под FB 1.5-2.0 на Borland C++ 5.0.
Начал искать - полно инфы под Делфи с примерами а вот на Borland C++ 5.0 нету. Попробовал скомпилить демку с FB 2.0 ib_udf получил DLL но при использовании функций выдаёт ошибку.
Invalid token.
invalid request BLR at offset 63.
function EAN13 is not defined.
module name or entrypoint could not be found.
Функция генерит пользовательский код для штрих кода EAN13
Код функции
объявил функцию:
Буду весьма признателен за любую помошь!!!
Возможно у когото есть простой работаюший проектик под Borland C++ 5.0
Начал искать - полно инфы под Делфи с примерами а вот на Borland C++ 5.0 нету. Попробовал скомпилить демку с FB 2.0 ib_udf получил DLL но при использовании функций выдаёт ошибку.
Invalid token.
invalid request BLR at offset 63.
function EAN13 is not defined.
module name or entrypoint could not be found.
Функция генерит пользовательский код для штрих кода EAN13
Код функции
Код: Выделить всё
//---------------------------------------------------------------------------
#include <stdlib.h>
#include <SysUtils.hpp>
#include "ibase.h"
extern "C" {
#include "ib_util.h"
};
#pragma hdrstop
#pragma argsused
//---------------------------------------------------------------------------
char* F_CodedEAN13(int const *Cod)
{
char Znach[9];
itoa(*Cod,Znach,10);
char *sZn = "200000000000";
//********Длина строки целой части числа*******************
int Chl=strlen(Znach);
int j=0, ix = 11 - Chl;
for (int i = 3; i < 12 ;i++)
{
if (i > ix)
{
sZn[i]=Znach[j++];
}
}
return sZn;
}
//---------------------------------------------------
extern "C" char* ISC_EXPORT CodedEAN13(int const * Cod)
{
return F_CodedEAN13(Cod);
}
объявил функцию:
Код: Выделить всё
DECLARE EXTERNAL FUNCTION EAN13
INTEGER
RETURNS CSTRING(12) FREE_IT
ENTRY_POINT 'CodedEAN13' MODULE_NAME 'ean'
Возможно у когото есть простой работаюший проектик под Borland C++ 5.0