-
АвторТема
-
15.09.2016 в 14:44 #50621
Здравствуйте,
При отладке программ под управлением VB6 исчезла возможность отладки программ. Раньше было возможность найти ошибки в программе. Сейчас необходимо компилировать exe файл и при помощи ловушек искать место ошибки. При этом данные с АЦП в программу не передаются. Это не удобно и сильно замедляет процесс отладки программ.
Возможно ли исправить данный глюк??? -
АвторТема
-
АвторОтветы
-
15.09.2016 в 14:45 #50622
Здравствуйте, Андрей!
Для начала хотелось бы понять, что вы имеете ввиду под словом «раньше» и когда начала проявляться данная проблема. Кроме того, если вы под отладкой подразумеваете возможность пошагового исполнения программы, то вряд ли программное обеспечение ZETLAB может влиять на этот процесс. Если возможно, поподробнее опишите вашу проблему: какими модулями вы пользуетесь при программировании, версия среды программирования и т.д.
Удачи!
15.09.2016 в 14:45 #50623Здравствуйте!
Раньше — это года два тому назад. Сейчас надо изменить проекты под управлением 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 Function1) Вызов команды SRV1.Connect под управлением проекта VB6 ошибку «Не хватает хэндлеров памяти в системе. Перезагрузите компьютер!»
2) При повторном вызове данной команды ошибка не проявляется, однако данные в программу не передаются по следующей командеIf IfError(2, SRV1.GetData(g_Channel(0), g_Divider, t0, na, mdatat(1))) Then Exit Sub
Если бы на форуме можно было бы вложить zip архив, то мог бы дать пример.
15.09.2016 в 14:45 #50624Кроме того, если вы под отладкой подразумеваете возможность пошагового исполнения программы, то вряд ли программное обеспечение ZETLAB может влиять на этот процесс.
Отладка идёт в VB6, однако нет данных с АЦП.
Для отладки приходится компилировать exe файл и только тогда анализировать ошибки в программе.15.09.2016 в 14:46 #50625Здравствуйте, Андрей!
Правильно ли я понял: вы года два тому назад написали программу на VB6 с использованием компонента SRV.ocx и она работала и отлаживалась, а сейчас вы установили последнее ПО ZETLab и пытаетесь сделать некоторые изменения в программе, и возникают описанные вами проблемы?
Можете ли вы указать параметры компьютера, на котором хотите запустить приложение: процессор, количество оперативной памяти, количество свободной виртуальной памяти, версию операционной системы. Видимо все проблемы начинаются с того, что первый вызов функции Connect возвращает вам код ошибки -8 и соответственно все дальнейшие действия ни к чему не приводят, потому что подключение к серверу данных было отклонено.
15.09.2016 в 14:46 #50626Я попробовал установить ZetLAB из папки https://file.zetlab.ru/old/2011-12-15/ — отладка программы возобновилась, данные с АЦП поступают в программу под управлением VB6. Однако модуль gramma1.ocx также не инициализировался и данные в него не поступают.
Перешёл на версию от 14.07.14 — ошибка возобновилась, система выдаёт сообщение о нехватке хэндлов. Ни отладки, ни данные в программу не поступают.15.09.2016 в 14:47 #50627Цитата
Андрей Антонов пишет:
Можете ли вы указать параметры компьютера, на котором хотите запустить приложение: процессор, количество оперативной памяти, количество свободной виртуальной памяти, версию операционной системы.15.09.2016 в 14:47 #50628Можете ли вы указать параметры компьютера, на котором хотите запустить приложение: процессор, количество оперативной памяти, количество свободной виртуальной памяти, версию операционной системы.
Параметры компьютера: пробовал на нескольких, под управлением 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 из папки https://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 архива, можно было бы более конкретно описать симптомы.15.09.2016 в 14:48 #50629Здравствуйте.
1. В виртуальной машине, наверное, необходимо переключить подключенное устройство в виртуальную машину, чтобы система в виртуальной машине обнаружила устройство Zet.
2. Вы пробовали запускать программу в режиме совместимости с более старыми версиями Windows?15.09.2016 в 14:48 #50630Да, пробовал переключить устройство в виртуальную машину. Однако ZetLab продолжает работать в демо-режиме. В среде VB описанные выше глюки. Исполняемый файл работает нормально только в стандартной Windows XP. В системе Windows 7 и 8 64bit ускополосный спектр и спектрограмма в исполняемом файле не работают.
15.09.2016 в 14:48 #50631Здравствуйте, Андрей!
Ваша скомпилированная в Release программа корректно работает с последним ПО ZETLab (на разных ОС)? Передаются ли данные? Все ли модули подгружаются? И такой же вопрос про скомпилированную в Debug программу?
15.09.2016 в 14:48 #50632В системе 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.
Как можно Вам передать файл проекта для отладки??????
15.09.2016 в 14:48 #50633Здравствуйте, Андрей!
Можно по электронной почте с прикреплением архива.
-
АвторОтветы
Для ответа в этой теме необходимо авторизоваться.