Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Помогите с UDF [D5, IB4.x]


XanderMan ©   (2002-03-27 20:24:00) 

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


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

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


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

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


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

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


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

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


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

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

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо