Announcement

Collapse
No announcement yet.

Declare External Function -> Rückgabe Datum

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Declare External Function -> Rückgabe Datum

    Hallo bin fast neu hier, und habe ein kleines Problem.
    Benutze Firebird-Datenbank und Delphi7. Da die Datenbank nur über geringe Functionen besitzt, habe ich mir selber eine Sammlung von Functionen gestrickt. IB_UFDMein.Dll
    Nun benötige ich eine Function die als Rückgabe ein Datum zurückbringen soll. Kriege es einfach nicht hin.

    Habe es wie folgt gemacht.

    // ----------------------------------------------------------
    function FN_DECODEDAT(var d1,d2,d3,d4:TDateTime): TDateTime; cdecl;
    begin
    try
    if d1=d2 then
    Result := d3
    else Result := d4;
    except
    Result := d1;
    end;
    end;

    // ----------------------------------------------------------
    DECLARE EXTERNAL FUNCTION DECODEDAT
    DATE, DATE, DATE, DATE
    RETURNS DATE
    ENTRY_POINT 'FN_DECODEDAT' MODULE_NAME 'IB_UDF2';

    Wenn ich einen Select ausführe bekomme ich immer die Fehlermeldung "Ungültige Datenkonvertierung"

    Kann mir jemand einen Rat geben.
    Dank im Vorraus.

  • #2
    Hallo Oswald,

    so kann das nicht funktionieren. In Firebird wie auch in Interbase ist der Datentyp TimeStamp anders kodiert als bei Delphi. Dementsprechend muß jeweils eine Typumwandlung vorgenommen werden.

    Bei Bedarf kann ich Dir ein Teil meiner UDF-Sammlung per Mail zur Verfügung stellen.

    Gruß

    Torste

    Comment


    • #3
      Hallo Torsten,
      danke für deine Antwort.

      Habe bereits einige versuche das Datum in einen anderen Format zurückzugeben gemacht, ist mir aber nicht gelungen.
      Aus den verschiedenen Dokumentationen die ich gefunden habe, bin ich auch nicht schlau geworden.

      Wenn du mir einen Teil (oder ein Beispiel der Typenumwandlung) deiner UDF zusenden kannst wäre ich dir dankbar.

      [email protected]

      Gruß und danke
      Oswal

      Comment

      Working...
      X