Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Написание dll совместимых с Delphi

37K
13 апреля 2008 года
Br@inFuCK_User
1 / / 13.04.2008
Есть dll ( допустим test.dll ) в которой объявлена функция для примера:
 
Код:
extern "C"  int __stdcall __export test ( int i, int j, char *mess )
{
    MessageBox ( NULL, mess, "dll", NULL );
    return i + j;
}


Из Borland c++ вызывается без проблем:

Код:
int ( __stdcall *test ) ( int i, int j, char *mess );
    HINSTANCE dllInst = LoadLibrary ("test.dll");
    if ( dllInst == 0 ) {
        MessageBox ( NULL, "Dll load error", "error", NULL);
        return;
    }
    test = ( int ( __stdcall* ) ( int i, int j, char *mess ))
        GetProcAddress ( dllInst,  "test" );
    if ( test == NULL ) {
        MessageBox ( NULL, "test not found", "Error", NULL );
        return;
    }
    int res = test ( 2, 3, "test mess" );
    FreeLibrary ( dllInst );


А при попытке вызвать из Delphi она вызывается, но видно что вместо значений которые я ей подаю, туда попадает всякий мусор! Кто нибудь знает каким образом можно вызвать эту функцию корректно из Delphi? :confused:
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог