powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Трассировка вызова UDF в Firebird 2.5
4 сообщений из 54, страница 3 из 3
Трассировка вызова UDF в Firebird 2.5
    #39159967
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WildSery,

да, действительно, free там нет.

чисто помогалка для функций CSTRING FREE_IT

EXPORTS TABLE:
Name: ib_util.dll
Characteristics: 00000000h
TimeDateStamp: 54800C9Bh -> 04/12/2014 10:26:19
Version: 0.00
Ordinal base: 00000001h
# of functions: 00000001h (1)
# of Names: 00000001h (1)

Entry Pt Ordn Name
00001000h 1 ib_util_malloc


DOS HEADER
Header Information :

Signature : 5A4Dh
Bytes on last page of file : 0090h
...
Рейтинг: 0 / 0
Трассировка вызова UDF в Firebird 2.5
    #39159980
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nicholaos,

как минимум хорошо бы прверить, бывают ли у ебя вообще внутренние исключения, и если бывают - то какие.

Например

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
function LogExc(const e: Exception);
var msg: string;
begin
  msg :=  'UDF ERROR !!! ' + ParamStr(0) + #13#10'  ' + e.ClassName + #13#10'  ' + e.Message;
 
  OutputDebugString( PChar( msg) );

// и/или засунуть её в WinNT Events Log
end;

function MD5(str:PChar):PChar; cdecl; export;
begin
  try
    result := MakeResultString(PChar(strMD5(str)));
  except
    on e: Exception do begin
      LogExc(e);
      result := MakeResultString('');
    end;
  end;
end;
...
Рейтинг: 0 / 0
Трассировка вызова UDF в Firebird 2.5
    #39159983
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nicholaos
Код: pascal
1.
2.
3.
4.
5.
function ValidateStr(Value, KodType : PChar): PChar; cdecl; export;
.....
begin
  try
    if KodType = 'INTEGER' then.....



Есть у мну смутное подозрение, что тут у нас может оказаться сравнение указателей, которое почти всегда даст false

Я бы сделал таки


Код: pascal
1.
2.
3.
4.
5.
6.
7.
function ValidateStr(sqlValue, sqlKodType : PChar): PChar; cdecl; export;
var KodType: string;
begin
  Result := nil;                                         // Здоровая паранойя
  KodType := UpperCase(Trim(sqlKodType)); // Здоровущая паранойя
  try
    if KodType = 'INTEGER' then.......
...
Рейтинг: 0 / 0
Трассировка вызова UDF в Firebird 2.5
    #39160779
nicholaos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо за участие!

Сделал логгирование, исправил UDF согласно советам. Посмотрю, что получится.
...
Рейтинг: 0 / 0
4 сообщений из 54, страница 3 из 3
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Трассировка вызова UDF в Firebird 2.5
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]