Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как объяснить VBS-компилятору, что объявленная переменная вида string? / 4 сообщений из 4, страница 1 из 1
21.03.2007, 01:25
    #34404426
Дмитрий(77)
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как объяснить VBS-компилятору, что объявленная переменная вида string?
Есть фрагмент кода на 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
21.03.2007, 07:31
    #34404528
klen_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как объяснить VBS-компилятору, что объявленная переменная вида string?
на VBScript все переменные As Variant
...
Рейтинг: 0 / 0
21.03.2007, 16:36
    #34406535
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как объяснить VBS-компилятору, что объявленная переменная вида string?
попробуй так:
Код: 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
21.03.2007, 17:50
    #34406840
Программист Дёня
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как объяснить VBS-компилятору, что объявленная переменная вида string?
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
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как объяснить VBS-компилятору, что объявленная переменная вида string? / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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