Форум ZETLAB

Архив обсуждений, технических вопросов и ответов по оборудованию, программному обеспечению и внедрению измерительных систем.

Страницы: 1
RSS
Ошибка под управлением VB6
 
Здравствуйте, При отладке программ под управлением VB6 исчезла возможность отладки программ. Раньше было возможность найти ошибки в программе. Сейчас необходимо компилировать exe файл и при помощи ловушек искать место ошибки. При этом данные с АЦП в программу не передаются. Это не удобно и сильно замедляет процесс отладки программ. Возможно ли исправить данный глюк???
 
Здравствуйте, Андрей! Для начала хотелось бы понять, что вы имеете ввиду под словом "раньше" и когда начала проявляться данная проблема. Кроме того, если вы под отладкой подразумеваете возможность пошагового исполнения программы, то вряд ли программное обеспечение ZETLAB может влиять на этот процесс. Если возможно, поподробнее опишите вашу проблему: какими модулями вы пользуетесь при программировании, версия среды программирования и т.д. Удачи!
 
Здравствуйте! Раньше - это года два тому назад. Сейчас надо изменить проекты под управлением Vb6. Однако я не могу это сделать так как: Private Sub mnuSigma_Click() Dim i As Long If IfError(0, SRV1.Connect) Then Exit Sub ' соединиться с сервером End Sub Private Function IfError(ByVal mode As Long, ByVal myError As Long) As Boolean Dim msg As String Select Case mode Case 0 ' # SRV1.Connect -- соединиться с сервером Select Case myError Case 0: msg = "" Case -1: msg = "Нет свободного места для подключения к серверу" Case -2: msg = "Не запускается сервер" Case -3: msg = "Нет инициализации сервера" Case -4: msg = "Мало вычислительных ресурсов у процессора" Case -7: msg = "Нет памяти для организации буферов данных" Case -8: msg = "Не хватает хэндлеров памяти в системе. Перезагрузите компьютер!" End Select Case 1 ' # SRV1.Disconnect -- отсоединиться от сервера Select Case myError Case 0: msg = "" Case -1: msg = "Не было подключения к серверу" Case -2: msg = "Сбой в программе сервера" Case -3: msg = "Программа сервера выгружена из памяти" End Select Case 2 ' # SRV1.GetData -- получить данные Select Case myError Case 0: msg = "" Case -1: msg = "На момент вызова метода не было подключения к серверу данных" Case -2: msg = "Программа ZetServer.ocx выгружена из памяти процессора" Case -3: msg = "Параметр lChannel < 0" Case -4: msg = "Параметр lChannel > (QuanChan() - 1)" Case -6: msg = "Серверу данных не хватает памяти для организации буферов данных" Case -7: msg = "Не хватает хэндлеров памяти в системе. Перезагрузите компьютер!" Case -8: msg = "Размер запрашиваемых данных lSize <= 0 или lSize >= DecadeBufferSize()" Case -9: msg = "Номер декады lDecade < 0" Case -10: msg = "Номер декады lDecade > 4" Case -11: msg = "Момент времени dTime больше текущего времени для данного канала" Case -12: msg = "Момент времени dTime < 0" Case -13: msg = "Указатель на массив данных pData = NULL" Case -14: msg = "Момент времени dTime меньше нижней границы кольцевого буфера накопленных данных для данного канала" End Select End Select If Len(msg) > 0 Then MsgBox msg, vbCritical, App.ProductName IfError = True Else IfError = False End If End Function 1) Вызов команды SRV1.Connect под управлением проекта VB6 ошибку "Не хватает хэндлеров памяти в системе. Перезагрузите компьютер!" 2) При повторном вызове данной команды ошибка не проявляется, однако данные в программу не передаются по следующей команде If IfError(2, SRV1.GetData(g_Channel(0), g_Divider, t0, na, mdatat(1))) Then Exit Sub Если бы на форуме можно было бы вложить zip архив, то мог бы дать пример.
 
Кроме того, если вы под отладкой подразумеваете возможность пошагового исполнения программы, то вряд ли программное обеспечение ZETLAB может влиять на этот процесс. Отладка идёт в VB6, однако нет данных с АЦП. Для отладки приходится компилировать exe файл и только тогда анализировать ошибки в программе.
 
Здравствуйте, Андрей! Правильно ли я понял: вы года два тому назад написали программу на VB6 с использованием компонента SRV.ocx и она работала и отлаживалась, а сейчас вы установили последнее ПО ZETLab и пытаетесь сделать некоторые изменения в программе, и возникают описанные вами проблемы? Можете ли вы указать параметры компьютера, на котором хотите запустить приложение: процессор, количество оперативной памяти, количество свободной виртуальной памяти, версию операционной системы. Видимо все проблемы начинаются с того, что первый вызов функции Connect возвращает вам код ошибки -8 и соответственно все дальнейшие действия ни к чему не приводят, потому что подключение к серверу данных было отклонено.
 
Я попробовал установить ZetLAB из папки http://file.zetlab.ru/old/2011-12-15/ - отладка программы возобновилась, данные с АЦП поступают в программу под управлением VB6. Однако модуль gramma1.ocx также не инициализировался и данные в него не поступают. Перешёл на версию от 14.07.14 - ошибка возобновилась, система выдаёт сообщение о нехватке хэндлов. Ни отладки, ни данные в программу не поступают.
 
Цитата Андрей Антонов пишет: Можете ли вы указать параметры компьютера, на котором хотите запустить приложение: процессор, количество оперативной памяти, количество свободной виртуальной памяти, версию операционной системы.
 
Можете ли вы указать параметры компьютера, на котором хотите запустить приложение: процессор, количество оперативной памяти, количество свободной виртуальной памяти, версию операционной системы. Параметры компьютера: пробовал на нескольких, под управлением Windows XP, Windows 7 и 8. 1) На ноутбуке HP Pavilion 17-e063sr, 4 процессора Intel® Core™ i5-3230M CPU @ 2.6GHz 8,00 ГБ ОЗУ операционку Windows 8 снести я не смог вследствие того, что жёсткий диск имеет новый стандарт передачи данных. Поэтому при загрузке с флешки жёсткий диск был не виден. Пришлось в Windows 8 установить Oracle WM VirtualBox и Windows XP, 2 процессора, 4ГБ ОЗУ, 128 МБ видео. Далее Я попробовал установить ZetLAB из папки http://file.zetlab.ru/old/2011-12-15/ - отладка программы возобновилась, данные с АЦП поступают в программу под управлением VB6. Перешёл на версию от 14.07.14 - ошибка возобновилась, система выдаёт сообщение о нехватке хэндлов. Ни отладки, ни данные в программу не поступают. Исполняемый файл пробовал запускать в Windows XP под управлением Oracle WM VirtualBox. При этом все модули ZetLAB работают только в демо-режиме. Графики осциллограмм и узкополосного спектра выводятся на экран, модуль спектрограммы глючит вследствие отсутствия 3D ускорения видео карты, однако можно в короткие моменты времени увидеть, что данные в спектрограмму поступают. При переходе в основную операционку Windows 8 и запуске исполняемого файла отсутствует инициализация узкополосного спектра, прорисовывается только осциллограмма сигнала. 2) На нетбуке ACER Aspire One и ноутбуке Samsung NP350V5C-T01RU установлена Windows XP. Симптомы те же, что в эмуляторе Windows XP Oracle WM VirtualBox из предыдущего описания. Если бы можно было передать для анализа исполняемого кода весь проект в виде zip архива, можно было бы более конкретно описать симптомы.
 
Здравствуйте. 1. В виртуальной машине, наверное, необходимо переключить подключенное устройство в виртуальную машину, чтобы система в виртуальной машине обнаружила устройство Zet. 2. Вы пробовали запускать программу в режиме совместимости с более старыми версиями Windows?
 
Да, пробовал переключить устройство в виртуальную машину. Однако ZetLab продолжает работать в демо-режиме. В среде VB описанные выше глюки. Исполняемый файл работает нормально только в стандартной Windows XP. В системе Windows 7 и 8 64bit ускополосный спектр и спектрограмма в исполняемом файле не работают.
 
Здравствуйте, Андрей! Ваша скомпилированная в Release программа корректно работает с последним ПО ZETLab (на разных ОС)? Передаются ли данные? Все ли модули подгружаются? И такой же вопрос про скомпилированную в Debug программу?
 
В системе VB6 отсутствуют режимы компиляции Debug и Release, имеются только оптимизация по скорости выполнения или размеру скомпилированного файла. Как я уже писал 26.08.2014 10:41:24 исполняемые файлы корректно выполняются только в Windows XP 32 bit (формируются на экране осциллограммы сигналов, а также узкополосный спектр и график спектрограммы), а в Windows 7 или 8 64 bit - работают только осциллограммы сигналов в выбранной декаде. В режиме отладки внутри Visual Basic 6.5 отладка программ не работает, так как при выполнении команды SRV1.Connect выводится сообщение об ошибке "Не хватает хэндлеров памяти в системе. Перезагрузите компьютер!" При повторном запуске ошибки нет, однако никакие данные в программу из ZetLAB не поступают. ps: как я писал ранее 21.08.2014 16:37:27 в версии программного обеспечения от 15.12.2011 отладка программы идёт нормально, однако спектрограмма всё равно не строится внутри программной среды Visual Basic 6.5. Как можно Вам передать файл проекта для отладки??????
 
Здравствуйте, Андрей! Можно по электронной почте с прикреплением архива.
Страницы: 1
Читают тему