Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.01.23;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.04 c
1-1103922588
oleg_tretyakov
2004-12-25 00:09
2005.01.23
Итог по страницам в QuickReport


1-1105472831
Pomestnik
2005-01-11 22:47
2005.01.23
Не срабатывает действие....


1-1105202184
cautur
2005-01-08 19:36
2005.01.23
LookupComboBox, нужна помошь


1-1105538319
Толян
2005-01-12 16:58
2005.01.23
Загрузка и сохранение таюлици ListView


1-1105264235
гость
2005-01-09 12:50
2005.01.23
электрические схемы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский