Форум: "Базы";
Текущий архив: 2002.01.17;
Скачать: [xml.tar.bz2];
ВнизDLL & Delphi никак не поймут друг друга, или я их. Найти похожие ветки
← →
Desdechado (2001-12-14 10:41) [1]Для кода Мадорского необходимо по-другому описать функцию на сервере
DECLARE EXTERNAL FUNCTION SUBSTR
CSTRING(256), INTEGER, INTEGER
RETURNS CSTRING(256) FREE_IT
ENTRY_POINT "SubStr" MODULE_NAME "MyDLL.dll"
Это дает команду серверу освободить память после использования функции, иначе он будет ее поедать очень быстро. Насчет правильности работы - исследуйте, коллега, - функция-то тривиальная.
В коде с ib.demo.ru строка программы
if LenString > CountChar then InString[CountChar] := #0;
отсекает в исходной строке символов все, что находится за правой границей, поэтому перед передачей из хранимой процедуры переменной в UDF, сохрани значение переменной в другой. Кроме того, взят не лучший образец кода. Там есть корректнее, этот будет (ИМХО) допускать утечки памяти.
И еще раз повторюсь: к IB-серверу прилагается ib_udf.dll - там есть уже требуемая функция. Не надо велосипед изобретать.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.01.17;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.003 c