Страница: 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
       
    
       
  
читал мелкософт и, если я все правильно понял, то в этот неизвестный ОБЪЕКТ тебе нужно загрузить файл с сертификатом, тогда он будет инициализирован и проблема, наверное, исчезнет.