К> Hi, многоуважаемый All!
К> Люди, человеки, - помогите разобратся ...
Разобрался сам ...
Как я понял, портилась память процесса из-за вызова UDF в тригере на
табличку (insert) который в свою очередь дёргался из тригера на View
... Причём этот код безболезнено работал уже около 1 года :(
Может я что-то не правильно написал ?
Ниже привожу код функции UDF и ей обьявление в БД:
{ DECLARE EXTERNAL FUNCTION GenGUID
bigint
RETURNS CSTRING(50) FREE_IT
ENTRY_POINT 'GenGUID' MODULE_NAME 'ME_UDF' }
function GenGUID(var i : int64): PChar; cdecl; export;
function CreateClassID: string;
var ClassID: TGUID; P: PWideChar;
begin
CoCreateGuid(ClassID);
StringFromCLSID(ClassID, P);
Result := P;
CoTaskMemFree(P);
end;
var P: PChar;
s: string[36];
s2 : String[16];
begin
P := ib_util_malloc(33);
s := Copy(CreateClassID, 2, 36);
if i < 0
then s2 := '<Undefined User>'
else if i = 0
then s2 := '<= ASP Server =>'
else S2 := IntToHex(i, 16);
s2 := Copy('0000000000000000', 1, 16 - Length(s2)) + s2;
Result := StrPCopy(P, s2 + '-' +Copy(s, 25, 12) + Copy(s, 20, 4) +
Copy(s, 15, 4) + Copy(s, 10, 4) + Copy(s, 1, 8));
end;
С уважением,
Константин Григорьевич.
===============