Страница: 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 На строке: set SignedBytes = CrLib.SignBytes (Nothing , sysIO)
вылитает ошибка: Недопустимый вызов или аргумент процедуры: 'CrLib.SignBytes'. Код ошибки: 800A0005 Причем этот код в VB.NET работает без проблем, а в VBScript выдает ошибку. В чем может быть дело? |
Ответы | Всего ответов: 3 |
Номер ответа: 1 Автор ответа: ![]() ![]() ICQ: 250543104 Вопросов: 13 Ответов: 118 |
Профиль | Цитата | #1 | Добавлено: 10.08.10 06:22 |
может попробовать использовать Null или vbNull вместо Nothing?
просто в VBScript Nothing обычно используется примерно так: Set objMyObject=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 |
читал мелкософт и, если я все правильно понял, то в этот неизвестный ОБЪЕКТ тебе нужно загрузить файл с сертификатом, тогда он будет инициализирован и проблема, наверное, исчезнет. |
Страница: 1 |
|