Рукописные Dll

Тема в разделе "Lotus - Программирование", создана пользователем NickProstoNick, 20 май 2011.

  1. NickProstoNick

    NickProstoNick Статус как статус :)

    Регистрация:
    22 авг 2008
    Сообщения:
    1.766
    Симпатии:
    39
    Всем привет!
    У кого-нибудь есть опыт написания своих библиотек для Lotus?
    Вот пытаюсь - не получается :)
    Язык Visual C++
    UIDialog.cpp
    Код (C++):
    #include <vcl.h>
    #include <windows.h>
    #include "UIDialog.h"
    #pragma hdrstop

    #pragma argsused
    BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fwdreason, LPVOID lpvReserved)
    {
    return 1;
    }

    void __stdcall test(){
    ShowMessage("TEST!!!!");

    }
    UIDialog.h
    Код (C++):
    #ifndef _MYDLL_H
    #define _MYDLL_H

    #ifdef __DLL__
    # define DLL_EI __declspec(dllexport)
    #else
    # define DLL_EI __declspec(dllimport)
    #endif

    extern "C" DLL_EI void __stdcall test();

    #endif
    Вызов библиотеки из Lotus
    Код (LotusScript):
    Declare Sub test Lib "d:\UIDialog.dll" Alias "test"()
    Sub Click(Source As Button)
    Call test
    End Sub
    В итоге ошибка загрузки библиотеки :(
    Без указания каких либо кодов ошибки. В чем может быть проблема?

    Через тестовую программу Dll работает. Функция отрабатывает.
     
  2. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    может стоит подложить библиотеку в папку с лотусом, и не прописывать пути явно
     
  3. NickProstoNick

    NickProstoNick Статус как статус :)

    Регистрация:
    22 авг 2008
    Сообщения:
    1.766
    Симпатии:
    39
    Не помогает/

    Вопрос снят. Покрутил параметры компиляции dll
     
  4. TIA

    TIA :-)
    Lotus team

    Регистрация:
    15 май 2009
    Сообщения:
    790
    Симпатии:
    0
    Думаю, что твоя функция экспортируется как
    _test
    а должна экспортироваться как
    test

    Заставить экспортировать "как над"о можно через def-файл

    EXPORTS
    test @1
     
  5. NickProstoNick

    NickProstoNick Статус как статус :)

    Регистрация:
    22 авг 2008
    Сообщения:
    1.766
    Симпатии:
    39
    Поборол. С экспортом все правильно.
    Просто в свойствах проекта выключил Dynamic RTL.

    Возник второй вопрос... при вызове формы из dll методом ShowModal не работает ShowModal :)
    Окно проваливается под Lotus-клиента
     
Загрузка...

Поделиться этой страницей