Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: udf in firebird deklarieren

  Alt 17. Jun 2006, 13:09
Hallo Martin.

Ohne Anspruch auf Schönheit - habe nur die nötigen Verbiegungen an deinem Code durchgeführt:

Delphi-Quellcode:
unit Strings;

interface

uses
  SysUtils;

  function Replace(s, old, new: PChar): PChar; cdecl; export;

implementation

function Replace(s, old, new: PChar): PChar;
begin
  Result := PChar(StringReplace(String(S), String(Old), String(New), [rfReplaceAll]));
end;

end.
Und natürlich muss die UDF noch der Datenbank bekannt gemacht werden:

SQL-Code:
DECLARE EXTERNAL FUNCTION REPLACE /* ANSIUPPER */
    CSTRING(100), CSTRING(100), CSTRING(100)
RETURNS CSTRING(100) FREE_IT
ENTRY_POINT 'Replace' MODULE_NAME 'MyFirebirdUDFs'
Anstelle in das BIN-Verzeichnis solltest du die library in das UDF-Verzeichnis von FireBird schieben.

Getippt und nicht getestet.

Grüße vom marabu

Edit: Es muss REPLACE heißen, nicht ANSIUPPER
  Mit Zitat antworten Zitat