0 / 0 / 0
Регистрация: 21.03.2017
Сообщений: 24
|
|||||||||||
1 | |||||||||||
Передача строки на внешний DLL файл15.09.2018, 07:01. Показов 624. Ответов 18
Метки нет (Все метки)
Привет форумчане! С помощью такого кода организовал вызов из DLL файла в форму. Проблема заключается в том что из DLL значение возвращает, но записать туда не могу. Может каким нибудь способом можно записать туда данные, чтобы при вызове он вернул ответом записанные данные?! Буду очень благодарен за ответ!
Приложение Form1
0
|
15.09.2018, 07:01 | |
Ответы с готовыми решениями:
18
Передача блока данных их страницы во внешний файл через ajax Передача данных из программы во внешний файл и из внешнего файла в программу Передача с Dll в ЕХЕ файл. Передача структуры в dll валит ЕХЕ файл. |
1530 / 1478 / 322
Регистрация: 03.10.2012
Сообщений: 1,517
|
||||||
15.09.2018, 13:07 | 2 | |||||
BIXTAR, если я правильно вас понял, попробуйте так:
Код DLL
0
|
0 / 0 / 0
Регистрация: 21.03.2017
Сообщений: 24
|
|
15.09.2018, 20:31 [ТС] | 3 |
MrCrown,
Необработанное исключение типа "System.MissingMethodException" в mscorlib.dll Дополнительные сведения: Попытка доступа к отсутствующему члену. Он не вызывался с самого начала, когда уровень доступа был Public в классе DLL. При уровне Shared работает, но нет доступа к содержимому за её пределами
0
|
1530 / 1478 / 322
Регистрация: 03.10.2012
Сообщений: 1,517
|
|
17.09.2018, 10:35 | 4 |
BIXTAR, не понятно, к чему такие сложности. Почему бы не воспользоваться возможностями ООП и не создать объекты из вашей библиотеки и работать с ними.
1
|
82 / 72 / 15
Регистрация: 18.01.2014
Сообщений: 348
|
|
17.09.2018, 19:25 | 5 |
Я по простоте своей душевно всё время думал, что библиотеки нужны, скажем так, в режиме readonly. Зачем вообще в dll-ку заносить какую-то информацию? И если даже нужно занести, значит ты знаешь её структуру, одним словом ты - автор сего чуда, так зачем тогда использовать этот кусок кода в виде отдельной dll?
PS Это просто вопросы, если кто-нибудь на них ответит - буду признателен, и возможно, стану чуть умнее.
0
|
0 / 0 / 0
Регистрация: 21.03.2017
Сообщений: 24
|
||||||
18.09.2018, 05:40 [ТС] | 6 | |||||
_Radik_, допустим ты прав, библиотека и работает в режиме ReadOnly и я хочу вот инициализировать COM порт, примерно так, пусть даже без потока:
DLL:
PS. К чему я это всё. У меня нет особого желания постоянно переписывать класс формы при добавлении новой функции, проще создавать новые модули и кидать их в папку, а потом через приложение добавлять их в список и работать с ними Добавлено через 33 минуты Ещё нашел как вариант. Класс формы генерирует текстовый файл и с указанием с наименования порта, а DLL файл с помощью ридера читает этот текстовый файл и открывает порт.
0
|
82 / 72 / 15
Регистрация: 18.01.2014
Сообщений: 348
|
|
18.09.2018, 09:01 | 7 |
А сделать в этом классе public переменную нельзя разве?
Добавлено через 36 минут Кто "он"?
0
|
0 / 0 / 0
Регистрация: 21.03.2017
Сообщений: 24
|
||||||
18.09.2018, 09:42 [ТС] | 8 | |||||
_Radik_,
При уровне доступа Public там вообще ничего не работает, можешь сам проверить, всё через Shared идет, может через поток ещё пойдет, хотя не пробовал ещё.
0
|
82 / 72 / 15
Регистрация: 18.01.2014
Сообщений: 348
|
|
18.09.2018, 12:17 | 9 |
Проверил, конечно может мы до сих пор о разных вещах говорим, но вот скрины.
За качество фото извиняюсь, т.к. на планшете не нашел кнопку PrintScreen. На первом фото Библиотека классов На втором - программа На третьем - результат
0
|
0 / 0 / 0
Регистрация: 21.03.2017
Сообщений: 24
|
|
18.09.2018, 14:31 [ТС] | 10 |
_Radik_,
0
|
82 / 72 / 15
Регистрация: 18.01.2014
Сообщений: 348
|
|||||||||||
18.09.2018, 17:40 | 11 | ||||||||||
BIXTAR,
, тогда может быть так, как указано в примерах на MSDN:
вот ссылка https://docs.microsoft.com/ru-... #overloads библиотека класса:
0
|
0 / 0 / 0
Регистрация: 21.03.2017
Сообщений: 24
|
|
18.09.2018, 17:59 [ТС] | 12 |
_Radik_, это тоже самое что и у меня, если даже попробуешь собрать по этому же коду, он тебе исключение выдаст:
Необработанное исключение типа "System.MissingMethodException" в mscorlib.dll Дополнительные сведения: Попытка доступа к отсутствующему члену. Заменишь все на Shared, ошибки такой не будет. К тому же я уже нашел решение всего этого, лучший способ присваивать значения модулю через текстовый файл с помощью ридера.
0
|
82 / 72 / 15
Регистрация: 18.01.2014
Сообщений: 348
|
|
18.09.2018, 18:03 | 14 |
Это не тоже самое и это работает, т.к. я сам сейчас это проверил
0
|
0 / 0 / 0
Регистрация: 21.03.2017
Сообщений: 24
|
|
18.09.2018, 18:06 [ТС] | 15 |
XIST, я не придираюсь к вопросам. Как говорится, знаешь способ лучше, предложи.
0
|
82 / 72 / 15
Регистрация: 18.01.2014
Сообщений: 348
|
|
18.09.2018, 18:08 | 16 |
Ни каких ошибок и исключений не выдает
Но, тип я беру не под номером 0 как у тебя, а под номером 5
0
|
0 / 0 / 0
Регистрация: 21.03.2017
Сообщений: 24
|
|
18.09.2018, 18:34 [ТС] | 17 |
_Radik_, не стал подробно разбираться, всё же как то много кода для одного вызова
0
|
82 / 72 / 15
Регистрация: 18.01.2014
Сообщений: 348
|
|
18.09.2018, 18:53 | 18 |
BIXTAR, Я хз, хз... Там всего 1 строчка добавилась относительно твоего когда - строка №7.
Строку №6 можно убрать и в 7-ой в конце вместо args поставить Nothing, если в библиотеки убрать Public Sub New. Строки №8, 10, 11 - только для того чтобы проверить результат, действительно ли Свойство MyProp у dll-ки изменилось.
0
|
0 / 0 / 0
Регистрация: 21.03.2017
Сообщений: 24
|
|
19.09.2018, 11:46 [ТС] | 19 |
Всем спасибо кто отозвался! Чтение значений из файла, этого достаточно.
Тема закрыта!.
0
|
19.09.2018, 11:46 | |
19.09.2018, 11:46 | |
Помогаю со студенческими работами здесь
19
Передача файла или строки в файл на сервер PHP передача информации на внешний жесткий диск Как вернуть значение процедуры из DLL во внешний модуль? Ссылка на неразрешенный внешний символ при использовании DLL Файл: Создайте текстовый файл, содержащий в начале каждой строки гласные буквы соответствующей строки файла, а в конце строки - согласные Как множество dll собрать в один dll или exe файл? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |