1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

Рукописные Dll

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

  1. NickProstoNick

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

    Репутация:
    0
    Регистрация:
    22 авг 2008
    Сообщения:
    1.785
    Симпатии:
    42
    Всем привет!
    У кого-нибудь есть опыт написания своих библиотек для Lotus?
    Вот пытаюсь - не получается :)
    Язык Visual C++
    UIDialog.cpp
    Код:
    #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
    Код:
    #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
    Код:
    Declare Sub test Lib "d:\UIDialog.dll" Alias "test"()
    Sub Click(Source As Button)
    Call test
    End Sub
    В итоге ошибка загрузки библиотеки :(
    Без указания каких либо кодов ошибки. В чем может быть проблема?

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

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

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

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

    Репутация:
    0
    Регистрация:
    22 авг 2008
    Сообщения:
    1.785
    Симпатии:
    42
    Не помогает/

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

    TIA :-)
    Lotus team

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

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

    EXPORTS
    test @1
     
  5. NickProstoNick

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

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

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

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