Страница: 1 |
Страница: 1 |
Вопрос: Правильная работа с Nothing в VBScript
Добавлено: 10.08.10 06:06
Автор вопроса: Евгений Владимирович
Здравствуйте форумчане.
Подскажите, пожалуйста, кто встречался с такой проблемой.
Значит есть код, следующего содержания:
set sysIO = CreateObject("System.IO.MemoryStream")
set Stream = CreateObject("ADODB.Stream")
Stream.Type = 1
Stream.Open()
Stream.LoadFromFile("C:\1.txt")
Dim buf
Do Until Stream.EOS
buf = Stream.Read()
Loop
For i = 0 To Stream.Size - 1
sysIO.WriteByte(buf(i))
Next
set CrLib = CreateObject("CryptoLibraryImp.SignatureManager")
sysIO.Position = 0
set SignedBytes = CrLib.SignBytes (Nothing , sysIO)
sysIO.Position = 0
SignedBytes.Position = 0
set FVerf = CrLib.Verify(SignedBytes, sysIO)
If FVerf.Subject <> "" Then
CrLib.ShowCertificateInfoDialog(FVerf)
End If
На строке:
вылитает ошибка: Недопустимый вызов или аргумент процедуры: 'CrLib.SignBytes'.
Код ошибки: 800A0005
Причем этот код в VB.NET работает без проблем, а в VBScript выдает ошибку. В чем может быть дело?
Ответы
Всего ответов: 3
Номер ответа: 1
Автор ответа:
Шпион
ICQ: 250543104
Вопросов: 13
Ответов: 118
Профиль | | #1
Добавлено: 10.08.10 06:22
может попробовать использовать Null или vbNull вместо Nothing?
просто в VBScript Nothing обычно используется примерно так:
и вызывает удаление объекта из памяти и вообще его уничтожение.
Номер ответа: 2
Автор ответа:
Евгений Владимирович
Вопросов: 1
Ответов: 4
Профиль | | #2
Добавлено: 10.08.10 06:47
Пробовали и Null, и vbNull, и "", и 0, и что еще только не пробовали.
Просто получается следующее.
Вот описание функции SignBytes:
Первый параметр
- это некий неизвестный ОБЪЕКТ. Он нам неизвестен, поэтому и передаю Nothing.
Второй параметр
мы получаем как поток байтов (см. начало кода.)
При этом вариант:
тоже не работает.
Номер ответа: 3
Автор ответа:
Шпион
ICQ: 250543104
Вопросов: 13
Ответов: 118
Профиль | | #3
Добавлено: 17.08.10 06:34
читал мелкософт и, если я все правильно понял, то в этот неизвестный ОБЪЕКТ тебе нужно загрузить файл с сертификатом, тогда он будет инициализирован и проблема, наверное, исчезнет.