So, etwas rumgespielt. UDF heißt jetzt COMPUTERNAMEFUNC.
Bezieht sich das Case-sensitive auf den Delphi Teil ? Der ist jetzt vorsichtshalber so :
Delphi-Quellcode:
exports
COMPUTERNAMEFUNC;
Trigger :
SQL-Code:
as
begin
if (new.ID is null) then
new.ID = gen_id(GEN_ART_ID, 1);
if (new.angelegt is null) then
new.ANGELEGT = current_timestamp;
new.BEZ = COMPUTERNAMEFUNC ();
end
UDF :
SQL-Code:
DECLARE EXTERNAL FUNCTION COMPUTERNAMEFUNC
RETURNS CSTRING(255) FREE_IT
ENTRY_POINT 'COMPUTERNAME' MODULE_NAME 'TESTUDF'
Was jetzt genau die Ursache dafür war, daß es nicht compiliert wurde ?
signifikante Änderung wurde allerdigs duch das () ausgelöst. Allerdings war die UDF in IBExpert genauso grün und unterstrichen, wie das gen_id. Der Trigger braucht in diesem Fall offensichtlich das (). Denn der wird jetzt auch compiliert. Beim Commit kommt aber noch das :
Zitat von
IBExpert:
Invalid token.
invalid request BLR at offset 69.
function COMPUTERNAMEFUNC is not defined.
module name or entrypoint could not be found.
Habe mich jetzt wohl mit den Bezeichnern verhackstückelt.
Welche Rolle spielt genau der Name der UDF und insbesondere der Entry-Point ? Was geht da genau vor sich ?
Edit : wo genau muß die
DLL eigentlich hin ? Ist momentan überall.