• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Рукописные Dll

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
Всем привет!
У кого-нибудь есть опыт написания своих библиотек для 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
Код:
Declare Sub test Lib "d:\UIDialog.dll" Alias "test"()
Sub Click(Source As Button)
Call test
End Sub
В итоге ошибка загрузки библиотеки :(
Без указания каких либо кодов ошибки. В чем может быть проблема?

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

morpheus

может стоит подложить библиотеку в папку с лотусом, и не прописывать пути явно
 
T

TIA

Думаю, что твоя функция экспортируется как
_test
а должна экспортироваться как
test

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

EXPORTS
test @1
 

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
Думаю, что твоя функция экспортируется как
_test
а должна экспортироваться как
test

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

EXPORTS
test @1
Поборол. С экспортом все правильно.
Просто в свойствах проекта выключил Dynamic RTL.

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

Обучение наступательной кибербезопасности в игровой форме. Начать игру!