Einzelnen Beitrag anzeigen

Benutzerbild von mischerr
mischerr

Registriert seit: 6. Feb 2004
Ort: Konz
238 Beiträge
 
Delphi 10.3 Rio
 
#1

Firebird UDF Funktion für Delphi mit CAHR(5) Parameter

  Alt 26. Jan 2021, 15:54
Datenbank: Firebird x64 • Version: 2.5 • Zugriff über: IBDAC
Hallo!

Ich bräuchte mal eure Hilfe:

Ich habe eine Tabelle mit je einer Spalte "GEWICHT" DOUBLE PRECISION und "EINHEIT" CHAR(5) (z.B. 1.0, 'kg' oder 2.0, 'lbs').
Nun brauche ich eine UDF Funktion welche mit das Gewicht abhängig von der Einheit umrechnet: GetGewichtAs.

Meine myUDF64.DLL:
Code:
function GetGewichtAs(var Gewicht: double; const VonEinheit, NachEinheit: PAnsiChar): double;
function GetGewichtAs2(var Gewicht: double; VonEinheit, NachEinheit: integer): double;

exports GetGewichtAs, GetGewichtAs2;
Meine UDF in der DB:
Code:
DECLARE EXTERNAL FUNCTION GETGEWICHTAS DOUBLE PRECISION, CSTRING(255), CSTRING(255) RETURNS DOUBLE PRECISION BY VALUE
ENTRY_POINT 'GetGewichtAs' MODULE_NAME 'myUDF64';
DECLARE EXTERNAL FUNCTION GETGEWICHTAS2 DOUBLE PRECISION, INTEGER, INTEGER RETURNS DOUBLE PRECISION BY VALUE
ENTRY_POINT 'GetGewichtAs2' MODULE_NAME 'myUDF64';
Die Funktion GETGEWICHTAS2(1.0, 0, 1) funktioniert, aber GETGEWICHTAS(1.0, 'kg, 'lbs') liefert immer folgende Fehler:

Code:
Implementation of text subtype 255 not located.
SQL Code: -204
IB Error Number: 335544568

Da mir die Ideen ausgehen bin ich für jeden Tipp dankbar!.
  Mit Zitat antworten Zitat