Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Вызов функции из dll - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Где можно достать компоненты XP-элементов управления? http://www.cyberforum.ru/cpp-beginners/thread492124.html
посоветуйте, пожалуйста, где достать компоненты XP-шных элементов управления, типа зеленые CheckBox'ы, светло-синие кнопки. Может можно перегрузить события обычногго TButton'а используя какую-нибудь...
C++ Запуск ехе-файлла Здравствуйте! Можно ли при нажатии кнопки на форме найти нужный ехе-файл и запустить его? Заранее большое спасибо. http://www.cyberforum.ru/cpp-beginners/thread492104.html
Что такое полис и конечные автоматы и для чего используются в с++? C++
ОЧЕНЬ ХОЧУ ЗНАТЬ. ПОМОГИТЕ!!!!!!!!!
C++ подробное он-лайн руководство по Borland C++ 3.1. (for DOS)
Подскажите, плз, подробное он-лайн руководство по Borland C++ 3.1. (for DOS).Можно англ. Меня интересует использование шаблонов классов. Некоторые виды специализаций шаблонов в BC++ 3.1 не работают...
C++ Примеры кодов ООП на Borland С++ http://www.cyberforum.ru/cpp-beginners/thread491986.html
Подскажите пожалуйста, где можно посмотреть коды Borland С++ объектно-ориентированное программирование. Мне необходимо создать калькулятор, интерфейс я создала,а вот в кодах запуталась. Как вывести...
C++ Проблемы с isapi.dll na servere zapuskaju 4erez html ISAPI extensions://folder/mydll.dll,no zagruzaetsja pustaja stranica.Predvaritelno sozdala kak WIn32 Realese Win32Dynamic Link Project cpp file s dvumja funkcijami... подробнее

Показать сообщение отдельно
rotesbyte
0 / 0 / 1
Регистрация: 26.07.2009
Сообщений: 64

Вызов функции из dll - C++

24.01.2011, 13:24. Просмотров 2616. Ответов 3
Метки (Все метки)

Привет всем!
Пишу программу на Java. Спокойно, форум тот... Моя программа должна работать с устройством, висящим на LPT-порте. Для этого мне приходится с помощью JNI вызывать нативные методы из виндушной DLL-ки, написанной на C++ и шедшей вместе с устройством.

Всё это должно быть организовано следующим образом: между моей Java-программой и виндушной DLL-кой я должен вставить свою DLL-ку, написанную на C++. Она будет получать вызовы методов из Java, сама вызывать функции из виндушной DLL-ки, получпть от неё ответы и отдавать назад в Java-программу.

Вся проблема в том, что в C++ я, мягко говоря, не крупный спец...
Как вызывать из мой DLL-ки функции, лежащие в виндушной DLL-ке я, вроде, нашёл. Вызывать буду неявной компоновкой - у меня ест header-файл.
Моя проблема состоит в следующем:
Каждая вызываемая мной функция в виндушной DLL-ке имеет параметр --HANDLE AppHandle--. Тут-то моя проблема...

Вот оригинальное описание одной из этих функций (из виндушной DLL-ки):
Код
DeviceStartUp
-------------
Parameter:    HANDLE AppHandle
Return Value: int
Return Codes:
              DEVICE OK : Success
              DEVICE ERROR: error occured
              DEVICE NOT INIT: DelsyInit was not successful
Description:
DeviceStartUp informs the DEVICE-drivers about the application, and load the hardware-DLLs if necessary. The application handle is used for the unique identification of the processes and is needed on every function call. The display of messages and similar actions are also realized by this procedure.
Вот кусок примера вызова этой функции из проекта на Borland C++:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void __fastcall TForm1::FormShow(TObject *Sender)
{
char *Err;int i;
char Version[100];
 
............
 
if (DeviseStartUp(this)==DEVISE_ERROR)
  { DeviceGetError(this,&Err,&i);
    Label4->Caption='Device Error Nr. ' + (AnsiString) i;
    Label5->Caption=Err;
  }
 
............
 
}
Теперь вопросы:
1. Чей хэндл должен Я указывать чтобы это У МЕНЯ заработало? Ведь я использую нативные методы из Java-программы...
2. Как его получить?
Если можно, дайте кусок кода.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru