Модераторы: Akella
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> DLL c UDF не работает на другом компе, у меня пашет, а там нет 
V
    Опции темы
MaxWave
Дата 10.9.2008, 18:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 158
Регистрация: 8.3.2006

Репутация: нет
Всего: нет



Приветствую всех!
На моей машине, где собственно и создавалась DLL и где стоит сервер Firebird, UDF аботает на ура.
На другой машине, тоже стоит сервер Firebird. Копирую туда в папку UDF совю DLL.  
Говорит -  module name or entry point could not be found. Рестарты сервера и реконнекты не помогают.

В чем проблема? В зависимостях? Чета каг то неохота со свое DLL еще чтото таскать.

Пишу DLL для винды на VC++2005. Создал пустой проект и скомпилил его в DLL. 

Из инклудов юзаю тока 
Код

#include <string>
Функцию экспортирую таг:
Код
extern "C" __declspec(dllexport) int MyFunction (char* str1, char * ctr2)
{...}

PM MAIL   Вверх
ksili
Дата 11.9.2008, 04:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2069
Регистрация: 3.11.2005
Где: Красноярск

Репутация: нет
Всего: 17



Так надо наверно объявить используемые функции из UDF:
Код

DECLARE EXTERNAL FUNCTION GETRANDOM
  INTEGER 
RETURNS 
  DOUBLE PRECISION BY VALUE
ENTRY_POINT 'GetRandom'  MODULE_NAME 'randomudf' 

Если используешь IBExpert, то функции у тебя должны появиться в соответствующем списке

Это сообщение отредактировал(а) ksili - 11.9.2008, 04:10


--------------------
Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с)
PM MAIL   Вверх
Deniz
Дата 11.9.2008, 08:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 22
Всего: 44



MaxWave, версии серверов одинаковые? Config'и для серверов одинаковые? Другие UDF работают?


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
MaxWave
Дата 11.9.2008, 09:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 158
Регистрация: 8.3.2006

Репутация: нет
Всего: нет



2ksili
Дело не в этом, объявление у меня верное

2Deniz
Да, 2.0 и там и там. Конфиги я нигде не трогал и не смарел, т.к. сам ставил сервера БД, конфиги врядли отличаются.Позже подтвержу это, т.к. щас не на работе.
PM MAIL   Вверх
MaxWave
Дата 11.9.2008, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 158
Регистрация: 8.3.2006

Репутация: нет
Всего: нет



Проблема решена - это естественно зависимость от MSVCRT80.DLL,  о которой я и спрашивал. Пришлось отказаться от использования строковых функций в стандартной сишной библиотеке и самому написать strlen  и strstr. В итоге в опциях проекта ставим Minimize Using in ATL - YES, и получаем толстую DLL, зато которой ниче не надо, кроме стандартной виндовой.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Interbase"
Alex

Обязательно указание:

1. Версию InterBase (Firebird, Yaffil)

2. Способа доступа (ADO, BDE, IBX и т.д.)

  • КАК ПРАВИЛЬНО ОФОРМИТЬ КОД - ЗДЕСЬ
  • КАК ПРАВИЛЬНО УКАЗАТЬ ТЕКСТ ОШИБКИ - ЗДЕСЬ
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • FAQ раздела лежит здесь!

Если Вам понравилась атмосфера форума, заходите к нам чаще! С Уважением, Akella.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Firebird, Interbase | Следующая тема »


 




[ Время генерации скрипта: 0.0433 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.