On-line: Andrey, гостей 1. Всего: 2 [подробнее..]
АвторСообщение
постоянный участник




Пост N: 5987
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 01.08.18 17:20. Заголовок: C# Dll and MiniGui ...


Всем привет.
Хочу сделать свою DLL на C# и вызвать её из МиниГуи.
Код будет примерно такой:
   aParam := { aTTitle, aTTitle2, aTSuperHd, aTHeading, aTFooting, aTTitle3, aTCell, ... } 
????CallDLL( "lib32_c#xlsole.DLL" , , "RunExcelOle" , cFile, lActivate, aParam )

If lActivate .And. FILE(cFile)
ShellExecute( 0, "Open", cFile,,, 3 )
EndIf

Ряд вопросов которые вообще непонятны.
1) Какими функциями MiniGui можно использовать ?
нашел только 2 - HMG_CallDLL() и CallDll32()
2) Как передать массивы в DLL ?
3) При выполнении DLL создаётся файл, а это длительная операция.
Как сделать задержку для ожидания создания файла и потом только открывать файл в МиниГуи ?


Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 5 [только новые]


постоянный участник




Пост N: 5990
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 03.08.18 23:56. Заголовок: Чуток разобрался с D..


Чуток разобрался с DLL.
Наверное для возвращаемой строки нужно сделать правку для MiniGUI\SOURCE\Dll\_windll.c :
     case CTYPE_LONG: 
hb_retnl( ( LONG ) rc.Long );
break;
case CTYPE_CHAR_PTR:
case CTYPE_UNSIGNED_CHAR_PTR:
hb_retc((char*) rc.Pointer);
break;
case CTYPE_UNSIGNED_CHAR:
case CTYPE_UNSIGNED_INT:
case CTYPE_INT_PTR:
case CTYPE_UNSIGNED_SHORT_PTR:

Пример демонстрирующий работу с DLL на С++ сделал. Отправил Григорию.
Массивы передать из МиниГуи в С++ сделать не смог. Да вроде и не обязательно пока.


Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 3788
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 04.08.18 19:02. Заголовок: Andrey пишет: Навер..


Andrey пишет:

 цитата:
Наверное для возвращаемой строки нужно сделать правку для MiniGUI\SOURCE\Dll\_windll.c :



Вместо правок этих модулей может лучше использовать стандартные функции харбора hb_libload, hb_dyncall ?
А то опять изобретание велосипеда получается.
А насчет передачи массивов - так в разных языках программирования они имеют различную реализацию, так что такая задача становится в общем случае невозможной.
Передавать в качестве параметров можно одинарные типы вроде строк, целых, double и тому подобным.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 5993
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 04.08.18 21:09. Заголовок: Pasha пишет: Вместо..


Pasha пишет:

 цитата:
Вместо правок этих модулей может лучше использовать стандартные функции харбора hb_libload, hb_dyncall



Спасибо !
Нашёл эти функции. Попробую сделать с ними.


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 5994
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 05.08.18 08:57. Заголовок: Сделал пример для DL..


Сделал пример для DLL на C++
На MSVC dll-ка нормально собирается и работает. А на BCC dll-ка собирается, но не работает !!!
Как то криво собирает BCC.
Может я неправильно ключи сборки ставлю ?

Вот батник для MSVC (test_dll.exe это тестировочная программа для Lib32_CPP_demo.cpp) -
Скрытый текст


Вот батник для BCC -
Скрытый текст


Кто знает, подскажите пожалуйста !

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 5995
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 08.08.18 23:14. Заголовок: Всем привет ! Столкн..


Всем привет !
Столкнулся с обратной задачей и не получается сделать её.
Делаю отдельную DLL на MiniGui и потом хочу вызывать функции из этой DLL в основной программе на МиниГуи.
Хочу потом свой проект поделить на отдельные dll-ки.
Собрал тестовый проект - не пашет.
Выдает такую ошибку:


Сам проект здесь - https://cloud.mail.ru/public/4X4S/v4CZmKyru
Подскажите пожалуйста - что не так делаю ?



Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 395
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет