Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.01.23;
Скачать: CL | DM;

Вниз

UDF для Firebird со строчными параметрами   Найти похожие ветки 

 
DSKalugin ©   (2004-12-17 19:49) [0]


library my_udf;

uses StrUtils,SysUtils;

function ClearSkladCod(var vsCod: PChar):PChar; stdcall; export;
const ClearChars=["0".."9","A".."Z"];
var ns:pchar;
   t:ShortString;
   i,j:Byte;
begin
 t:="";
 getmem(ns,30);
 StrCopy(ns,AnsiStrUpper(vsCod));
 j:=Length(ns);
 for i:=0 to j-1 do
   if (ns[i] in ClearChars)
     then t:=t+ns[i];
 freemem(ns);
 StrPCopy(Result,t);
end;

exports
 ClearSkladCod;

begin
 IsMultiThread:=True;
end.
-----------------------------------
DECLARE EXTERNAL FUNCTION ClearSkladCod
   CSTRING(30)
   RETURNS CSTRING(30) FREE_IT
   ENTRY_POINT "ClearSkladCod"  MODULE_NAME "my_udf";

при вызове в IBExpert выдает ошибку AV и разрывает соединение
В чем ошибка?


 
Johnmen ©   (2004-12-17 23:08) [1]

Глянь здесь
http://www.realcoding.net/part.php?id=1579
и см. на ibase.ru, там много материала...


 
jack128 ©   (2004-12-18 00:21) [2]

предирка к статье. Вообще говоря malloc нужно импортировать из ib_util.dll/функция ib_util_malloc


 
DSKalugin ©   (2004-12-18 16:58) [3]

2 Johnmen
Спасибо за линк, я интуитивно сам понимал, что надо как-то выделять память под результат. Но не знал как. На "ибасе" все перерыл перед тем как сюда написать

2 jack128
ок буду пробовать ib_util_malloc
а синтаксис какой ?


 
DrPass ©   (2004-12-18 20:44) [4]

А почему stdcall? IB вроде как использует соглашение cdecl



Страницы: 1 вся ветка

Текущий архив: 2005.01.23;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.043 c
1-1105539322
Mishenka
2005-01-12 17:15
2005.01.23
Как из переменной типа TDateTime извлечь отдельно Time и Date?


14-1104912807
syte_ser78
2005-01-05 11:13
2005.01.23
получение части стринговой переменной?


14-1105121864
Vaitek
2005-01-07 21:17
2005.01.23
Достало это караоке!!!!!!!!


1-1104790435
Sergey77
2005-01-04 01:13
2005.01.23
BorderStyle = bsNone


14-1104818625
Чеширский_Кот
2005-01-04 09:03
2005.01.23
Когда в России закончатся праздники...