|
0 / 0 / 1
Регистрация: 20.05.2017
Сообщений: 22
|
|
Импорт dll, нужен пример использования20.05.2017, 12:08. Показов 2797. Ответов 12
Есть некая dll.
Не могу найти информацию о том, как использовать вшитые там функции. [DllImport("fptr.dll")] А дальше? В примерах приписывается статический extern метод. А вот что дальше - не могу нагуглить. Буду благодарен за помощь.
0
|
|
| 20.05.2017, 12:08 | |
|
Ответы с готовыми решениями:
12
Нужен пример использования PostMessage
Нужен пример использования интерфейсов и делегатов в одной программе |
|
|
|
| 20.05.2017, 12:47 | |
|
Безопасное получение хэша пароля, заданного через указатель из SecureString
http://www.pinvoke.net/ - тонны примеров объявлений функций из WinAPI.
0
|
|
|
0 / 0 / 1
Регистрация: 20.05.2017
Сообщений: 22
|
|
| 20.05.2017, 12:56 [ТС] | |
|
Это уже следующий шаг, наверно
Сейчас я не понимаю в целом, как это работает. Вот, сделал я импорт. Далее, я должен объявить статическую функцию, имя которой совпадает с какой-то вшитой в dll функцией? Это чисто интуиция программиста очень далекого от десктопа и Windows, понятного объяснения принципа не могу найти.
0
|
|
|
|
|
| 20.05.2017, 13:09 | |
|
Ну в общем да, так. Только сначала определяется импортируемая функция, к которой добавляется атрибут DllImport, указывающий параметры импортирования.
Интуицией можете поизучать и сравнить известные определения WinAPI функций и их импорт, показанный на сайте pinvoke. Теоретическую часть можете посмотреть в книге C# 6.0 in a Nutshell Албахари, глава 25 "Interoperability". Литература по C# для начинающих и не только
1
|
|
|
0 / 0 / 1
Регистрация: 20.05.2017
Сообщений: 22
|
|
| 20.05.2017, 14:04 [ТС] | |
|
Спасибо. А dll сам класть просто в корень с exe? ..projectPath\bin\Release\file.dll?
Файл там существует, но выдается ошибка "$exception {"Не удается загрузить DLL "fptr.dll": Не найден указанный модуль. (Исключение из HRESULT: 0x8007007E)"} System.DllNotFoundException"
0
|
|
|
0 / 0 / 1
Регистрация: 20.05.2017
Сообщений: 22
|
|
| 20.05.2017, 14:10 [ТС] | |
|
Точно не перепутал. Пробовал и в debug тоже - все равно не видит(
0
|
|
|
0 / 0 / 1
Регистрация: 20.05.2017
Сообщений: 22
|
|
| 20.05.2017, 15:08 [ТС] | |
|
Другие dll видит, эту - нет. Насколько я понимаю, это С++ dll, она отказывается импортироваться как ссылка. Может, проблема в этом? Может ли быть такое, что dll нельзя использовать в C#?
0
|
|
|
0 / 0 / 1
Регистрация: 20.05.2017
Сообщений: 22
|
||||||
| 20.05.2017, 15:26 [ТС] | ||||||
|
https://github.com/pistol88/dvizh-seller
DLL: http://graphing.ru/data/fptr.dll (исходников нет) Вставляю так:
Хотя, вот есть fptr.h некий https://gist.github.com/pistol... 6bab65a690
0
|
||||||
|
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,569
|
|
| 20.05.2017, 15:27 | |
|
У вашей длл есть зависимости в виде libgcc_s_dw2-1.dll, mingwm10.dll (а у этих зависимостей так же могут быть свои зависимости), они установлены в систему или лежат рядом с длл?
1
|
|
|
0 / 0 / 1
Регистрация: 20.05.2017
Сообщений: 22
|
|
| 20.05.2017, 16:58 [ТС] | |
|
Спасибо! Переместил недостающие DLL файлы, проблема решена
![]() Но теперь такое: "System.AccessViolationException: "Попытка чтения или записи в защищенную память. Это часто свидетельствует о том, что другая память повреждена." Добавлено через 43 секунды Тут уже что-то с типами, судя по Гуглу, пойду вникать в доки. Добавлено через 1 час 24 минуты Чудики, которые страдают той же проблемой, что у меня: я справился. Эта dll визжит как *****, когда ее трогают. Но можно просто добавить ссылку на C:\Program Files (x86)\ATOL\Drivers\Bin\FprnM1C.dll в проект и создавать нужный объект так: cmd = new FprnM1C.FprnM45();
0
|
|
| 20.05.2017, 16:58 | |
|
Помогаю со студенческими работами здесь
13
Нужен пример использования вместо значений словаря — свои собственные классы
Нужен пример использования WhatsAppApi Нужен пример использования API в Вконтакте Пример использования ObservableCollection? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|