[firebase-br] module name or entrypoint could not be found - CRIAÇÃO DE UDF

//---- Kelsie.Z.Marshall ----// kelsie.z.marshall em gmail.com
Sáb Set 5 14:39:16 -03 2009


Oi Cantu


Baixei seu zip descompactei e nem mexi na DDL que você gerou simplesmente 
copiei para o diretório C:\Program Files\Firebird\Firebird_2_1\UDF

Usando o IBExpert no SQL Editor fiz a declaração no banco.

DECLARE EXTERNAL FUNCTION F_LIMPA
    CSTRING(254),
    CSTRING(254)
RETURNS PARAMETER 2
ENTRY_POINT 'Limpa' MODULE_NAME 'chcUDF';

e depois até fechei o IBexpert a função apareçe na lista de UDFs mas ao 
chamar :

select F_LIMPA('teste','tentando') from a_tab

dá o erro

Invalid token.
invalid request BLR at offset 63.
function F_LIMPA is not defined.
module name or entrypoint could not be found.

O que será que está ocorrendo ? Obvio mas não custa perguntar você testou 
está sua DLL ? E em qual DELPHI gerou ? Vista , XP ou LINUX, 64 bits ?

[]s Kelsie



"Carlos H. Cantu" <listas em warmboot.com.br> wrote in 
message news:1034976243.20090905083350 em warmboot.com.br...
http://www.firebase.com.br/fb/livro/fbessencial/exemplos/UDFs.zip

Se quiser mais detalhes, estão nos meus livros.

[]s
Carlos H. Cantu
www.FireBase.com.br - www.firebirdnews.org
www.warmboot.com.br - blog.firebase.com.br

KZM> Não consigo de jeito nenhum fazer uma UDF.

KZM> Já vasculhei a internet de cabo a rabo, este erro é recorrente, mas não
KZM> encontrei a solução.

KZM> -----------------------------------------------------------
KZM> 1) ABRI UM PROJETO (lib_Project1) DE DLL NO DELPHI COMO as dezenas de
KZM> tutoriais falam pra fazer
KZM> -BOF---------------------------------------------------------------

KZM> library lib_Project1;
KZM> uses
KZM>   SysUtils,
KZM>   Classes;

KZM> function Modular(var Width,Height:Integer):Integer; cdecl;
KZM> begin
KZM>   result:=Width+Height;
KZM> end;

KZM> exports
KZM>   Modular;
KZM> begin

KZM> end.

KZM> --EOF----------------------------------------------------------------------------------------------

KZM> 2) Compilei e gerei a DLL

KZM> 3) Copiei a DLL para o diretório C:\Program 
Files\Firebird\Firebird_2_1\UDF

KZM> 4) Registrei ela no banco

KZM> declare external function f_Modular
KZM> Integer, Integer
KZM> returns Integer by value
KZM> entry_point 'Modular'
KZM> module_name 'lib_Project1.dll';

KZM> 5) chamei a UDF select f_modular(1,2) from a_tab

KZM> E O ERRO OCORRE AQUI.

KZM> Invalid token.
KZM> invalid request BLR at offset 60.
KZM> function F_MODULAR is not defined.
KZM> module name or entrypoint could not be found.


KZM> Estou usando VISTA 64, Delphi 2009 com Firebird 2.1 64 Bits, mas já 
testei
KZM> num XP e em outra base de dados, com FireBird 2.1 32 Bits, digo isto 
pois
KZM> acho que o problema é por ai não sei.

KZM> Tá dificil fazer UDF funcionar no firebird...



KZM> Abraço
KZM> Kelsie















KZM> ______________________________________________
KZM> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
KZM> Para saber como gerenciar/excluir seu cadastro na lista, use:
KZM> http://www.firebase.com.br/fb/artigo.php?id=1107
KZM> Para consultar mensagens antigas: http://firebase.com.br/pesquisa


______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use: 
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa






Mais detalhes sobre a lista de discussão lista