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

Sérgio Alexandre Gianezini sergio_ag em terra.com.br
Sáb Set 5 16:41:37 -03 2009


Meu firebird.conf não tem o udfAccess definido, deve ser restrict então.
Usei o Delphi 7 pra fazer a dll, e rodo windows xp sp3 32 bits, firebird 
2.1+
A dll está na pasta UDF, dentro da pasta de instalação do firebird... 
(.\bin, .\intl, .\udf, ...)

eu declaro as funções usando o mesmo case, respeitando maisculos/minusculos 
totalmente.. inclusive da dll (SageUDF.dll):

{
  DECLARE EXTERNAL FUNCTION STRZERO
  NUMERIC(15, 4) BY DESCRIPTOR, INTEGER, INTEGER
  RETURNS VARCHAR(256) FREE_IT
  ENTRY_POINT 'SageStrZero' MODULE_NAME 'SageUDF.dll';
}

Function SageStrZero(Value: PParamDsc; Width, Decimals: PInteger): PVary; 
Cdecl; Export;
Var
  BufferF: Extended;
  BufferS: String;
Begin
  If ParamDscToDouble(Value, BufferF) And Assigned(Width) Then Begin
    BufferS := StringOfChar('0', Width^);
    If Assigned(Decimals) And (Decimals^ > 0) Then
      BufferS[Width^ - Min(Pred(Width^), Decimals^)] := '.';
    Result := ReturnVarChar(FormatFloat(BufferS, BufferF));
  End
  Else
    Result := Nil;
End;







Mais detalhes sobre a lista de discussão lista