[firebase-br] Jogo dos 7 erros UDF
Carlos H. Cantu
listas em warmboot.com.br
Sex Abr 22 22:29:13 -03 2016
A> A DLL é criada dentro dos padrões stdcall e tudo o mais e está perfeita
A> e funcional, senão a chamada à função dentro dela não funcionaria quando
A> invocada por outro programa.
UDF's escritas em Delphi devem ser declaradas com cdecl e não como
stdcall, pois o Firebird é feito em C.
A> Tenho o livro do Cantu, mas lá no capítulo que trata de UDF nada difere
A> do que estou fazendo.
Acho que vc não leu o livro direito então, pois os exemplos nele estão
todos como cdecl :)
Retirado do livro (pag. 220):
"Todas as UDFs devem ser escritas definindo-se o tipo de chamada usado
pela linguagem C. No Delphi, isso é feito usando a cláusula cdecl,
sendo também necessário listar as funções na seção exports."
[]s
Carlos H. Cantu
eBook Guia de Migração para o FB 3 - www.firebase.com.br/guiafb3.php
www.FireBase.com.br - www.firebirdnews.org - blog.firebase.com.br
A> Olá amigos. Conforme eu tinha citado anteriormente, tenho problemas para
A> executar qualquer função em uma UDF.
A> Conforme expliquei, crio a DLL e declaro a UDF de forma que, para mim
A> estão corretas.
A> A dll que crio eu chamo normalmente de um programa qualquer que eu uso
A> para testar a função na dll, e FUNCIONA perfeitamente.
A> A DLL é criada dentro dos padrões stdcall e tudo o mais e está perfeita
A> e funcional, senão a chamada à função dentro dela não funcionaria quando
A> invocada por outro programa.
A> Pois bem, a declaração dessa UDF no firebird é simples também, já que é
A> uma simples função que retorna um inteiro e recebe dois inteiros e os
A> soma. Segue a declaração da udf no FireBird
A> DECLARE EXTERNAL FUNCTION SOMA_
A> INTEGER,
A> INTEGER
A> RETURNS INTEGER
A> ENTRY_POINT 'soma' MODULE_NAME 'dllFuncoes';
A> Sendo assim, o que vocês acham que pode ser o motivo do não
A> funcionamento disso?
A> A pasta em que a DLL está é na UDF do Firebird e está com todos os
A> direitos de permissão de acesso e escrita ativados ....
A> Tenho o livro do Cantu, mas lá no capítulo que trata de UDF nada difere
A> do que estou fazendo.
A> Obrigado
A> ______________________________________________
A> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
A> Para saber como gerenciar/excluir seu cadastro na lista, use:
A> http://www.firebase.com.br/fb/artigo.php?id=1107
A> Para consultar mensagens antigas:
A> http://www.firebase.com.br/pesquisa_lista.html
Mais detalhes sobre a lista de discussão lista