• Автор
    Тема
  • #50621

    Андрей Озябкин
    Участник

    Здравствуйте,

    При отладке программ под управлением VB6 исчезла возможность отладки программ. Раньше было возможность найти ошибки в программе. Сейчас необходимо компилировать exe файл и при помощи ловушек искать место ошибки. При этом данные с АЦП в программу не передаются. Это не удобно и сильно замедляет процесс отладки программ.
    Возможно ли исправить данный глюк???

Просмотр 12 ответов - с 1 по 12 (всего 12)
  • Автор
    Ответы
  • #50622

    Менеджер ZETLab
    Хранитель

    Здравствуйте, Андрей!

    Для начала хотелось бы понять, что вы имеете ввиду под словом «раньше» и когда начала проявляться данная проблема. Кроме того, если вы под отладкой подразумеваете возможность пошагового исполнения программы, то вряд ли программное обеспечение ZETLAB может влиять на этот процесс. Если возможно, поподробнее опишите вашу проблему: какими модулями вы пользуетесь при программировании, версия среды программирования и т.д.

    Удачи!

    #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 Function

    1) Вызов команды SRV1.Connect под управлением проекта VB6 ошибку «Не хватает хэндлеров памяти в системе. Перезагрузите компьютер!»
    2) При повторном вызове данной команды ошибка не проявляется, однако данные в программу не передаются по следующей команде

    If IfError(2, SRV1.GetData(g_Channel(0), g_Divider, t0, na, mdatat(1))) Then Exit Sub

    Если бы на форуме можно было бы вложить zip архив, то мог бы дать пример.

    #50624

    Андрей Озябкин
    Участник

    Кроме того, если вы под отладкой подразумеваете возможность пошагового исполнения программы, то вряд ли программное обеспечение ZETLAB может влиять на этот процесс.

    Отладка идёт в VB6, однако нет данных с АЦП.
    Для отладки приходится компилировать exe файл и только тогда анализировать ошибки в программе.

    #50625

    Менеджер ZETLab
    Хранитель

    Здравствуйте, Андрей!

    Правильно ли я понял: вы года два тому назад написали программу на VB6 с использованием компонента SRV.ocx и она работала и отлаживалась, а сейчас вы установили последнее ПО ZETLab и пытаетесь сделать некоторые изменения в программе, и возникают описанные вами проблемы?

    Можете ли вы указать параметры компьютера, на котором хотите запустить приложение: процессор, количество оперативной памяти, количество свободной виртуальной памяти, версию операционной системы. Видимо все проблемы начинаются с того, что первый вызов функции Connect возвращает вам код ошибки -8 и соответственно все дальнейшие действия ни к чему не приводят, потому что подключение к серверу данных было отклонено.

    #50626

    Андрей Озябкин
    Участник

    Я попробовал установить ZetLAB из папки https://file.zetlab.ru/old/2011-12-15/ — отладка программы возобновилась, данные с АЦП поступают в программу под управлением VB6. Однако модуль gramma1.ocx также не инициализировался и данные в него не поступают.
    Перешёл на версию от 14.07.14 — ошибка возобновилась, система выдаёт сообщение о нехватке хэндлов. Ни отладки, ни данные в программу не поступают.

    #50627

    Менеджер ZETLab
    Хранитель

    Цитата
    Андрей Антонов пишет:
    Можете ли вы указать параметры компьютера, на котором хотите запустить приложение: процессор, количество оперативной памяти, количество свободной виртуальной памяти, версию операционной системы.

    #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 архива, можно было бы более конкретно описать симптомы.

    #50629

    Менеджер ZETLab
    Хранитель

    Здравствуйте.
    1. В виртуальной машине, наверное, необходимо переключить подключенное устройство в виртуальную машину, чтобы система в виртуальной машине обнаружила устройство Zet.
    2. Вы пробовали запускать программу в режиме совместимости с более старыми версиями Windows?

    #50630

    Андрей Озябкин
    Участник

    Да, пробовал переключить устройство в виртуальную машину. Однако ZetLab продолжает работать в демо-режиме. В среде VB описанные выше глюки. Исполняемый файл работает нормально только в стандартной Windows XP. В системе Windows 7 и 8 64bit ускополосный спектр и спектрограмма в исполняемом файле не работают.

    #50631

    Менеджер ZETLab
    Хранитель

    Здравствуйте, Андрей!

    Ваша скомпилированная в Release программа корректно работает с последним ПО ZETLab (на разных ОС)? Передаются ли данные? Все ли модули подгружаются? И такой же вопрос про скомпилированную в Debug программу?

    #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.

    Как можно Вам передать файл проекта для отладки??????

    #50633

    Менеджер ZETLab
    Хранитель

    Здравствуйте, Андрей!

    Можно по электронной почте с прикреплением архива.

Просмотр 12 ответов - с 1 по 12 (всего 12)

Для ответа в этой теме необходимо авторизоваться.