|
0 / 0 / 0
Регистрация: 08.01.2023
Сообщений: 36
|
|
Ошибки при передаче в dll массива и его возвращение10.04.2023, 20:45. Показов 3605. Ответов 49
Приветствую форумчан. Возник вопрос: как передать массив из действительных чисел в dll, а потом вернуть полученный результат - такой же массив. Попытался найти что-нибудь в интернете по этому поводу, но ничего полезного для себя найти не смог. Мое задание: есть последовательность, ее значения необходимо "сгладить", но мне либо просто не скомпилировать какой-либо из файлов, либо вылезает ошибка при работе кода, что " '' is not a valid floating point value. ".
Кто-нибудь может дать совет моим начинаниям?
0
|
|
| 10.04.2023, 20:45 | |
|
Ответы с готовыми решениями:
49
Одинаково ли быстродействие: 1. при передаче параметров в функцию или 2. создание кортежа и передаче его в функцию?
Ошибка при отладке ActiveX.DLL при передаче объекта форма |
|
0 / 0 / 0
Регистрация: 08.01.2023
Сообщений: 36
|
||||
| 11.04.2023, 17:29 [ТС] | ||||
|
ai = (ai - 1 + ai + ai + 1) / 3 Добавлено через 1 минуту Добавлено через 1 минуту
0
|
||||
|
Модератор
4153 / 2362 / 814
Регистрация: 15.11.2015
Сообщений: 9,496
|
|
| 11.04.2023, 17:31 | |
|
Если передавать только ссылку, то можно и без ShareMem.
0
|
|
|
0 / 0 / 0
Регистрация: 08.01.2023
Сообщений: 36
|
|
| 11.04.2023, 17:59 [ТС] | |
|
Я попытался переписать код по этому принципу, но немного не вышло: сейчас он выдает ошибку "Access violation at address *in module 'borlndmm.dll. Read address *.". а как с этим справиться?..
До этого, кстати, я нашел ошибку. Он выдавал ошибку из-за того, что неправильно расставил для StringGrid'а значения колонки и строки. Добавлено через 42 секунды Эта ошибка связана с ShareMem?
0
|
|
|
Модератор
4153 / 2362 / 814
Регистрация: 15.11.2015
Сообщений: 9,496
|
|
| 11.04.2023, 18:04 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 08.01.2023
Сообщений: 36
|
||||||||||||||||||
| 11.04.2023, 18:17 [ТС] | ||||||||||||||||||
0
|
||||||||||||||||||
|
Модератор
|
|||
| 11.04.2023, 18:28 | |||
0
|
|||
|
Модератор
4153 / 2362 / 814
Регистрация: 15.11.2015
Сообщений: 9,496
|
|
| 11.04.2023, 18:39 | |
|
1
|
|
|
0 / 0 / 0
Регистрация: 08.01.2023
Сообщений: 36
|
|||||||||||||
| 11.04.2023, 19:41 [ТС] | |||||||||||||
|
Прошу прощения за динамический массив - я не знал, что он от 0 индексируется. Я думал, что он по такому же принципу работает, как и статический массив. Добавлено через 8 минут
0
|
|||||||||||||
|
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
|
|||
| 11.04.2023, 19:50 | |||
|
Кстати, в основной программе ShareMem модуль надо только в dpr-файле подключать, первым. В остальных модулях он не нужен.
Это не связано с указанной ошибкой, просто вспомнилось. Добавлено через 3 минуты
1
|
|||
|
0 / 0 / 0
Регистрация: 08.01.2023
Сообщений: 36
|
|||
| 11.04.2023, 20:05 [ТС] | |||
|
Но это все равно не решило проблему с ранжированием. Все так же выбивает ошибку "Range check error". Добавлено через 1 минуту ![]() Убрал с dll этот модуль. Никак не повлияло на работу. Все та же ошибка. По крайней мере пока.
0
|
|||
|
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
|
||||
| 11.04.2023, 20:14 | ||||
|
Оно ж явно пишет если под отладкой запускать. Там и ищите. Добавлено через 43 секунды StringGrid1.Cells[] такое же исключение даёт, кстати Добавлено через 2 минуты Тогда a[i - 1] годится. Добавлено через 53 секунды
1
|
||||
|
0 / 0 / 0
Регистрация: 08.01.2023
Сообщений: 36
|
||||||||||||
| 11.04.2023, 20:34 [ТС] | ||||||||||||
|
Добавлено через 1 минуту Добавлено через 15 минут
Добавлено через 2 минуты
0
|
||||||||||||
|
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
|
|
| 11.04.2023, 21:01 | |
|
Ну значит при "наступании на arr(A, B)" надо нажать F7
1
|
|
|
0 / 0 / 0
Регистрация: 08.01.2023
Сообщений: 36
|
||
| 11.04.2023, 21:09 [ТС] | ||
|
Source Breakpoint at $00CD250E: D:\projects\Delphi\DLL\test code\Unit2.pas line 75. Process Project4.exe (8592) Source Breakpoint at $00CD250E: D:\projects\Delphi\DLL\test code\Unit2.pas line 75. Process Project4.exe (8592) Source Breakpoint at $00CD250E: D:\projects\Delphi\DLL\test code\Unit2.pas line 75. Process Project4.exe (8592) Source Breakpoint at $00CD250E: D:\projects\Delphi\DLL\test code\Unit2.pas line 75. Process Project4.exe (8592) Он мне это показал. Можно еще, пожалуйста, подсказку?
0
|
||
|
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
|
|
| 11.04.2023, 21:13 | |
|
А, так это
Вы это делаете с dll или в один проект все поместили? Сделайте все одном проекте для начала! без dll Там и отлаживайте
0
|
|
|
0 / 0 / 0
Регистрация: 08.01.2023
Сообщений: 36
|
|||
| 11.04.2023, 21:21 [ТС] | |||
|
Мне надо dll подключать как-то иначе? Добавлено через 15 секунд
0
|
|||
|
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
|
|
| 11.04.2023, 21:23 | |
|
У вас явно внутри arr() проблема.
Можно и dll отлаживать, конечно.
1
|
|
|
0 / 0 / 0
Регистрация: 08.01.2023
Сообщений: 36
|
|||||||||||||||||||||||
| 11.04.2023, 21:41 [ТС] | |||||||||||||||||||||||
Код, который в dll:
0
|
|||||||||||||||||||||||
|
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
|
|
| 11.04.2023, 21:43 | |
|
Всю функцию arr переносите, не надо полу-мер.
Можете arr_ назвать и вызов поправить Надо нормально проверять, а не отдельные кусочки
0
|
|
|
0 / 0 / 0
Регистрация: 08.01.2023
Сообщений: 36
|
|||
| 11.04.2023, 22:15 [ТС] | |||
|
Добавлено через 5 минут Касательно сглаживания, то у меня первые 3 значения равняются: 0, 0.84147, 0.90929. Они складываются и разделяются на три, что уже не может же равняться нулю. В чем может быть проблема? Это же уже надо решать проблему с dll? Добавлено через 4 минуты Нашел пару помарок в коде основной программы, но она все равно выводит нолики. Добавлено через 7 минут Я попробовал присвоить второму динамическому массиву значения первого, чтобы отправить их в dll. Там все без ошибок отрабатывает, но возвращается старый массив со старыми значениями, с чем может быть связана проблема? Добавлено через 8 минут Проблема решена. Сделал все через функцию, а не процедуру. И новый массив мне вернулся с другими значениями. Всем спасибо большое за помощь, кто давал дельные советы и поправлял мои помарки.
0
|
|||
| 11.04.2023, 22:15 | |
|
Ошибка при передаче текста из ComboBox в DLL Ошибки при передаче DataTable
STM32F105 CAN копятся ошибки при передаче Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|