[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