Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.18;
Скачать: [xml.tar.bz2];




Вниз

Помогите с UDF 


XanderMan   (2002-03-27 20:24) [0]

Сразу оговорюсь: HELPом по IB обчитался уже по самое некуда.
Насколько я понимаю UDF - это функции, определенные в DLL. DLL можно написать на Delphi, добавив к экспортируемым функциям спецификатор cdecl для того, чтобы параметры передавались справа налево, как в С. После этого компилируем библиотеку и помещаем готовый DLL в C:\WINDOWS\SYSTEM. Затем в IB выдаем команду
DECLARE EXTERNAL FUNCTION...
и все по идее должно работать. Проблема в том, что при попытке вызвать созданную функцию IB пишет что-то вроде "неправильная точка входа или файл библиотеки":((
Кто знает, что я делаю неправильно, помогите, пожалуйста.



Иван Шихалев   (2002-03-27 20:34) [1]

Нужно еще посмотреть, куда помещать готовую DLL. Во всяком случае IB6 точно не будет ее искать в WINDOWS\SYSTEM, как это у четверки - я не знаю. Возможно <IB Root>\Lib.

И еще бы не мешало привести DECLARE EXTERNAL FUNCTION полностью, раз у тебя такая ошибка.



OlegE   (2002-03-27 20:38) [2]

Для 4 и 5 - <IB Root>\BIN



XanderMan   (2002-03-27 20:42) [3]

DECLARE EXTERNAL FUNCTION FNAME
INTEGER
RETURNS BY VALUE INTEGER
ENTRY_POINT "fname"
MODULE_NAME "example.dll";



XanderMan   (2002-03-27 22:08) [4]

Спасибо за <IB Root>\BIN:)
Завтра попробую.



Desdechado   (2002-03-28 11:35) [5]

DECLARE EXTERNAL FUNCTION FNAME
INTEGER
RETURNS INTEGER BY VALUE
ENTRY_POINT "fname"
MODULE_NAME "example.dll";




Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.18;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.024 c
3-57607           Anics                 2002-03-27 07:31  2002.04.18  
Запрет удаления записи в DBGrid нажатием Ctrl-Del


1-57727           новенький в Делфи     2002-04-07 22:22  2002.04.18  
Закрытие формы


1-57769           Ник                   2002-04-04 22:28  2002.04.18  
Нажата ли клавиша-стрелка


1-57798           Yuriy                 2002-04-06 18:24  2002.04.18  
как определить имя компонента вызвавшего событие


4-57928           Alx2                  2002-02-13 11:58  2002.04.18  
Hook: что неправильно?