0 / 0 / 0
Регистрация: 27.04.2020
Сообщений: 15
|
|||||||||||||||||||||
Проблема с отсутствием Variant30.06.2024, 22:32. Показов 562. Ответов 8
Метки нет Все метки)
(
Всем привет.
Переношу софт с VBA на VB-NET, особых проблем нет, практически всё идёт один в один (в части кода), единственная проблема - это отсутствие типа Variant в VB-NET, может кто подскажет: Есть часть кода на vba:
как это реализовать на VB-NET ? Проблема в том, то так
нужна последовательность команд
Неподдерживаемый тип параметра в COM-обертке
Какие есть идеи? Заранее спасибо!
0
|
30.06.2024, 22:32 | |
Ответы с готовыми решениями:
8
Проблема с JIT отладчиком (точнее с его отсутствием) Проблема с отсутствием звука в некоторых программах Проблема с разрешением и отсутствием рабочего стола |
0 / 0 / 0
Регистрация: 27.04.2020
Сообщений: 15
|
||||||||||||||||
01.07.2024, 11:18 [ТС] | ||||||||||||||||
К сожалению функции и процедуры это софт стороннего разработчика к аппаратной части...
Сама функция по документации выглядит так:
EE 04 03 00 30 33 30 EF 04 0A 00 32 31 2E 31 31 2E 32 30 32 33 F0 04 04 00 31 39 34 34 F1 04 3E 00 22 55 55 49 44 3D 34 30 34 62 38 64 35 39 2D 63 64 35 61 2D 34 36 35 38 2D 39 32 34 37 2D 66 34 63 36 38 63 35 32 62 37 61 30 26 54 69 6D 65 3D 31 37 31 39 37 36 32 34 30 34 39 38 36 22 Процедура по документации
справлялся с переносом Byte() в качестве value в процедуру sub1 и это работало (рабочие параметры для понимания проблемы пропущены)
EE 04 03 00 30 33 30 EF 04 0A 00 32 31 2E 31 31 2E 32 30 32 33 F0 04 04 00 31 39 34 34 F1 04 3E 00 22 55 55 49 44 3D 34 30 34 62 38 64 35 39 2D 63 64 35 61 2D 34 36 35 38 2D 39 32 34 37 2D 66 34 63 36 38 63 35 32 62 37 61 30 26 54 69 6D 65 3D 31 37 31 39 37 36 32 34 30 34 39 38 36 22 А потом Value этой переменной успешно переваривала sub1
0
|
run
![]() 4745 / 4312 / 820
Регистрация: 13.04.2015
Сообщений: 9,352
|
|
01.07.2024, 12:17 | |
0
|
0 / 0 / 0
Регистрация: 27.04.2020
Сообщений: 15
|
||||||
01.07.2024, 12:48 [ТС] | ||||||
Дошел до этого:
0
|
Администратор
![]() ![]() |
|
01.07.2024, 12:52 | |
Почему вы передаете один аргумент там где ожидается два? И почему массив передается через Long?
0
|
0 / 0 / 0
Регистрация: 27.04.2020
Сообщений: 15
|
|
01.07.2024, 14:13 [ТС] | |
потому что к лонгам вопросов нет и я их не показываю при описании проблемы...
к каждому коду выше есть пояснения... главная проблема - передача Byte() в процедуру как Value, с чем раньше Variant справлялся на ура и которого сейчас нет Добавлено через 1 час 0 минут Спасибо всем, проблема решена на аппаратном уровне, без танцев с бубном... Использовал другую функцию, которая возвращает не массив Byte(), а тоже самое, но в виде строки Hex Соответственно Sub обработала её как Value без проблем. В общем сложно сказать: отсутствие Variant в VB-NET это хорошо или плохо, особенно в разрезе перехода на него с VBA... Убил почти сутки, нужно бросать привычку работать без документации...
0
|
Модератор
![]() ![]() 4323 / 3397 / 507
Регистрация: 27.01.2014
Сообщений: 6,197
|
|
01.07.2024, 15:06 | |
vmag, Тоесть в параметр Value нужно было передать строку HEX, а не массив byte()? Ну получить строку Hex в VB.NET тоже можно и передавать ее.
А почему такая разница, Вы спрашивали... Там Long, Variant, тут Integer и т.п., так это потому, что разные языки, хоть и синтаксис похож чем-то.
0
|
0 / 0 / 0
Регистрация: 27.04.2020
Сообщений: 15
|
|
01.07.2024, 15:56 [ТС] | |
Детали трудно понять, чужое (железо + софт) это черный ящик, но Variant успешно брал в себя byte() и с таким
же успехом отдавал его с нужным Value дальше
0
|
01.07.2024, 15:56 | ||||||
Помогаю со студенческими работами здесь
9
Обработка ситуации с отсутствием интернета Условие поиска за отсутствием данных в таблице Приблизить функцию Сплайном с отсутствием узла Искать еще темы с ответами Или воспользуйтесь поиском по форуму:
|
|
Новые блоги и статьи
![]() |
||||
Результаты исследования от команды MCM (март 2025 г.)
Programma_Boinc 07.04.2025
Результаты исследования от команды MCM (март 2025 г. )
В рамках наших текущих исследований мы продолжаем изучать гены, которые имеют наибольшую вероятность развития рака легких, выявленные в рамках. . .
|
Рекурсивные типы в Python
py-thonny 07.04.2025
Рекурсивные типы - это типы данных, которые определяются через самих себя или в сочетании с другими типами, которые в свою очередь ссылаются на исходный тип. В мире программирования такие структуры. . .
|
C++26: Объединение и конкатенация последовательностей и диапазонов в std::ranges
NullReferenced 07.04.2025
Работа с последовательностями данных – одна из фундаментальных задач, с которой сталкивается каждый разработчик. C++ прошел длинный путь в эволюции средств для манипуляции коллекциями – от. . .
|
Обмен данными в микросервисной архитектуре
ArchitectMsa 06.04.2025
Когда разработчики начинают погружаться в мир микросервисов, они часто сталкиваются с парадоксальным правилом: "два сервиса не должны делить один источник данных". Эта мантра звучит повсюду в. . .
|
PostgreSQL в Kubernetes: Автоматизация обслуживания с CNPG
Mr. Docker 06.04.2025
Администраторы баз данных сталкиваются с целым рядом проблем при обслуживании PostgreSQL в Kubernetes: как обеспечить правильную репликацию данных, как настроить автоматическое переключение при. . .
|
Async/await в TypeScript
run.dev 06.04.2025
Асинхронное программирование — это подход к разработке программного обеспечения, при котором операции выполняются независимо друг от друга. В отличие от синхронного выполнения, где каждая последующая. . .
|
Многопоточность в C#: Синхронизация потоков
UnmanagedCoder 06.04.2025
Многопоточное программирование стало неотъемлемой частью разработки современных приложений на C#. С появлением многоядерных процессоров возможность выполнять несколько задач параллельно значительно. . .
|
TypeScript: Классы и конструкторы
run.dev 06.04.2025
TypeScript, как статически типизированный язык, построенный на основе JavaScript, привнес в веб-разработку новый уровень надежности и структурированности кода. Одним из важнейших элементов этой. . .
|
Многопоточное программирование: Rust против C++
golander 06.04.2025
C++ существует уже несколько десятилетий и его поддержка параллелизма постепенно наращивалась со временем. Начиная с C++11, язык получил стандартную библиотеку для работы с потоками, а в последующих. . .
|
std::vector в C++: от основ к оптимизации производительности
NullReferenced 05.04.2025
Для многих программистов знакомство с std::vector происходит на ранних этапах изучения языка, но между базовым пониманием и подлинным мастерством лежит огромная дистанция. Контейнер std::vector. . .
|