|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
20.01.2021, 12:23 | #1 | |
Регистрация: 12.01.2021
Сообщений: 6
|
Массив не выгружается в память.
Здравствуйте, уважаемые форумчане.
(Небольшое введение) В данный момент я собираю лабораторный стенд на базе другой установки, софт к которой написан на С++. Её дизайнеры так же написали библиотеки под эту установку для упрощения её использования в новых задачах. Так получилось, что в С++ я не понимал до этого ничего, потихоньку стал разбираться, уже написал что-то, добился того, что установка со мной разговаривает через код. Отвечает, что всё хорошо, но одна функция, необходимая для того, чтоб выгрузить массив данных с установки, его не выгружает. (САМ ВОПРОС) Имеется функция: TDCReadToHistMT() Код:
Цитата:
Код:
Как видно, я несколько раз вызываю первые три значения массива, чтоб отследить когда массив заполняется, а когда нет (никогда). Также вызываю функцию Status несколько раз, чтоб убедится, что эксперимент закончен и данные выгружены (первый вызов Status - эксп. идёт, второй - эксп. законен и данные должны выгрузиться). P.S. Все функции возвращают "нолики" Последний раз редактировалось Leonid17; 20.01.2021 в 12:26. |
|
20.01.2021, 12:37 | #2 |
Форумчанин
Регистрация: 16.11.2020
Сообщений: 243
|
Вы же понимаете, что без СДК и/или доки это гадание на кофейной гуще. Тем более, что вы некоторые функции обернули, а сами вызовы так и не показали.
Для статуса не надо new звать, достаточно брать адрес. Может там ExpEnd надо вызывать. Может там в первых 3 элементах 0 и это нормально. Может возвращаемые "нолики" - это код ошибки, например, функция должна возвращать кол-во записанных элементов. |
20.01.2021, 13:02 | #3 | ||||
Регистрация: 12.01.2021
Сообщений: 6
|
FrosyaZZ,
Цитата:
ExpStart() = TDCStartExpt(void) Цитата:
Если я правильно понял, что такое "обернуть функцию": Код:
Цитата:
Цитата:
1. Как уже писал выше, конец эксперимента вызывать не надо, там даже функции такой нет. Есть только "Прервать эксперимент раньше положенного". 2. Там в первых элементов не ноль, так как до этого я вообще не инициализировал элементы массива и мне выдавало "мусор", причём каждый раз разный. 3. 0 - это код успешного выполнения функции, что справедливо для любой функции в данной библиотеке. |
||||
03.02.2021, 10:35 | #4 |
Регистрация: 12.01.2021
Сообщений: 6
|
Проблему решил. Запустил совместимость программы с XP, вместо мусора появились правильные нули.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Не выгружается DLL (C#) из делфи. | Masam | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 25.12.2017 14:20 |
Excel не выгружается из памяти | Raikhman | Microsoft Office Excel | 2 | 01.06.2016 13:12 |
память под массив | Артэс | Общие вопросы C/C++ | 6 | 15.09.2012 22:32 |
динам.память.массив. | Ам тя | Помощь студентам | 0 | 22.03.2010 19:23 |