[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