Problema com UDF
10/11/2004
0
Colegas,
Segue abaixo minha dll, feita em Delphi7:
E no Interbase 7.1:
Beleza... O IB criou minha função certinho, mas, quando eu chamo a função:
SELECT RETZERO(´000000´, 9) FROM RDB$DATABASE
É me retornado um erro de Database Connection Lost, ou algo parecido...
P.S: A função recebde doi parâmetros (Formato - quantidade de zeros) e o número a ser formatado. O objetivo é:
Ao digitar 9 retornar 000009.
[]´s
Segue abaixo minha dll, feita em Delphi7:
... function RetZero(Formato: string; Numero: integer): string; cdecl; export; ... function RetZero(Formato: string; Numero: integer): string; begin result := FormatFloat(Formato, Numero); end; ... exports RetZero; begin end.
E no Interbase 7.1:
DECLARE EXTERNAL FUNCTION RETZERO CSTRING(256) CHARACTER SET NONE, INTEGER RETURNS CSTRING(256) CHARACTER SET NONE ENTRY_POINT ´RetZero´ MODULE_NAME ´UDFInterbase´;
Beleza... O IB criou minha função certinho, mas, quando eu chamo a função:
SELECT RETZERO(´000000´, 9) FROM RDB$DATABASE
É me retornado um erro de Database Connection Lost, ou algo parecido...
P.S: A função recebde doi parâmetros (Formato - quantidade de zeros) e o número a ser formatado. O objetivo é:
Ao digitar 9 retornar 000009.
[]´s
Michaell
Curtir tópico
+ 0
Responder
Posts
10/11/2004
Afarias
a não ser q vc esteja usando o gerenciador de memória da borland (BORLANDMM.DLL) vc não devia exportar funções com parâmetros STRING
Use PCHAR
Sugiro tb q veja o código fonte de outras bibliotecas já estáveis feitas em Delphi para tomar como exemplo.
T+
Use PCHAR
Sugiro tb q veja o código fonte de outras bibliotecas já estáveis feitas em Delphi para tomar como exemplo.
T+
Responder
22/12/2004
Christian_adriano
Olá afarias,
Estou com uma Duvida
Se eu tiver um UDF :
function SerialHD : String;
.....
Como eu faço pra declarar no ib/fb ?
Tentei o seguinte:
DECLARE EXTERNAL FUNCTION GETHD
RETURNS CSTRING(15) FREE_IT
ENTRY_POINT ´SerialHD´ MODULE_NAME ´GetHD´
Obs. Executar normalmente, mais quando eu dou um Select dá erro.
Ex. Select GetHD from Tabela
Desde já agradeço atenção.
[]´s.
Christian.
Estou com uma Duvida
Se eu tiver um UDF :
function SerialHD : String;
.....
Como eu faço pra declarar no ib/fb ?
Tentei o seguinte:
DECLARE EXTERNAL FUNCTION GETHD
RETURNS CSTRING(15) FREE_IT
ENTRY_POINT ´SerialHD´ MODULE_NAME ´GetHD´
Obs. Executar normalmente, mais quando eu dou um Select dá erro.
Ex. Select GetHD from Tabela
Desde já agradeço atenção.
[]´s.
Christian.
Responder
Clique aqui para fazer login e interagir na Comunidade :)