SE> Меня эта тема уже достала. Может, я такой тупой.
SE> Server Version: WI-V2.0.0.12745 Firebird 2.0 Release Candidate 5 CS
SE> Страницы по 8К
SE> UDF-ка
SE> Обратите внимание - я объявляю на выходе 13 символов, а беру памяти 14.
SE> Надеюсь, это правильно.
    Правильно, + 1 на завершающий #0

{Skip}
SE>   n:=$8000000000000000;
      я не вчитывался но проверь что-бы твой алгоритм понимал
      отрицательные числа > $8000000000000000
      
SE>   st[13]:=chr(b);
      а вот здесь самое интерестное пропустил :)

      st[14] := #0;     // Концевой '/0'
      или
      SetLength(st, 14)

      устанавливает ещё и s[0] = #14 по правилам паскаля
      Если ты конечно не используешь s[0] для значений,
      если же используешь то тогда st[14] := #0; и вмевто
SE>   StrPCopy(Result,st);
      используй StrCopy там внутрях более логичное поведение :)
//  The
SE> end;
//  :)

{Skip}
SE> В логе ничего нет.

  Странно, в принчипе у меня, иногда, сервак падал если я забывал #0
  прилепить, правда это было давно :) ...

С уважением,
Константин Григорьевич.
===============


Ответить