powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как объяснить VBS-компилятору, что объявленная переменная вида string?
4 сообщений из 4, страница 1 из 1
Как объяснить VBS-компилятору, что объявленная переменная вида string?
    #34404426
Дмитрий(77)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть фрагмент кода на VB

Код: plaintext
1.
2.
3.
4.
Dim szBuffer As String
Set Voice2 = CreateObject("VoiceService.ExternCom")
Voice2.GetVar  2 , "IV_Progress$", szBuffer
MsgBox szBuffer
Set Voice2 = Nothing

Если запускать из Visual Studio все работает "как надо"

Если заменить строчку
Код: plaintext
Dim szBuffer As String
на строчку
Код: plaintext
Dim szBuffer 
то в строчке
Код: plaintext
Voice2.GetVar  2 , "IV_Progress$", szBuffer
Получим ошибку "Type Mismatch",
очевидно связанную с тем, что я не указал на szBuffer, что это string.

Запускаем тот же код на VBScript
На слово "As String" местный компилятор ругается,
а без него генерирует ошибку "Type Mismatch".
Вопрос: как объяснить VBScript компилятору что szBuffer суть есть String?
...
Рейтинг: 0 / 0
Как объяснить VBS-компилятору, что объявленная переменная вида string?
    #34404528
Фотография klen_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на VBScript все переменные As Variant
...
Рейтинг: 0 / 0
Как объяснить VBS-компилятору, что объявленная переменная вида string?
    #34406535
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробуй так:
Код: plaintext
1.
2.
3.
4.
5.
Dim szBuffer
Set Voice2 = CreateObject("VoiceService.ExternCom")
szBuffer = space( 255 )
Voice2.GetVar  2 , "IV_Progress$", szBuffer
MsgBox szBuffer
Set Voice2 = Nothing
...
Рейтинг: 0 / 0
Как объяснить VBS-компилятору, что объявленная переменная вида string?
    #34406840
Программист Дёня
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owlпопробуй так:
Код: plaintext
1.
2.
3.
4.
5.
Dim szBuffer
Set Voice2 = CreateObject("VoiceService.ExternCom")
szBuffer = space( 255 )
Voice2.GetVar  2 , "IV_Progress$", szBuffer
MsgBox szBuffer
Set Voice2 = Nothing



а функцию CStr(szBuffer) не пробовали
а лучше так

Dim szBuffer
let szBuffer=""
Set Voice2 = CreateObject("VoiceService.ExternCom")
szBuffer = space(255)
Voice2.GetVar 2, "IV_Progress$", szBuffer
MsgBox szBuffer
Set Voice2 = Nothing
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как объяснить VBS-компилятору, что объявленная переменная вида string?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]