Перейти к содержимому

Фотография

Вопрос по классам ВБС


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 3

#1 count_tic

count_tic

    Новый участник

  • Members
  • Pip
  • 40 сообщений
  • ФИО:Гуменюк Александр Вачильевич
  • Город:Киев

Отправлено 29 апреля 2011 - 09:50

ТК 7ой версии, ВБС.
В пером юните создал класс и описал его.

В другом юните пытаюсь сделать экземпляр каласса но кидается ексепшин:

An exception occurred in the "ContactFunctions" unit at line 4:
Microsoft VBScript runtime error
Class not defined: 'Contacts'

Хотя 'USEUNIT указывал где находится описание и определение класса.

Как сделать в ТК что бы екземпляр класса можно было создавать в юните в котором этот класс не обьявлен. возможно ли это?
  • 0

#2 XXX

XXX

    Опытный участник

  • Members
  • PipPipPipPip
  • 284 сообщений
  • ФИО:Денис Викторович
  • Город:Санкт-Петербург


Отправлено 29 апреля 2011 - 10:30

ТК 7ой версии, ВБС.
В пером юните создал класс и описал его.

В другом юните пытаюсь сделать экземпляр каласса но кидается ексепшин:

An exception occurred in the "ContactFunctions" unit at line 4:
Microsoft VBScript runtime error
Class not defined: 'Contacts'

Хотя 'USEUNIT указывал где находится описание и определение класса.

Как сделать в ТК что бы екземпляр класса можно было создавать в юните в котором этот класс не обьявлен. возможно ли это?


http://smartbear.com...warticle/14418/
  • 0

#3 count_tic

count_tic

    Новый участник

  • Members
  • Pip
  • 40 сообщений
  • ФИО:Гуменюк Александр Вачильевич
  • Город:Киев

Отправлено 29 апреля 2011 - 11:42


ТК 7ой версии, ВБС.
В пером юните создал класс и описал его.

В другом юните пытаюсь сделать экземпляр каласса но кидается ексепшин:

An exception occurred in the "ContactFunctions" unit at line 4:
Microsoft VBScript runtime error
Class not defined: 'Contacts'

Хотя 'USEUNIT указывал где находится описание и определение класса.

Как сделать в ТК что бы екземпляр класса можно было создавать в юните в котором этот класс не обьявлен. возможно ли это?


http://smartbear.com...warticle/14418/


The ODT.Classes property returns the Classes object that holds a collection of classes created via the ODT project item.

Класс я делал не через ОДТ, а просто класс... в ВБС
  • 0

#4 modbear

modbear

    Специалист

  • Members
  • PipPipPipPipPip
  • 548 сообщений

Отправлено 29 апреля 2011 - 12:24

http://smartbear.com...warticle/13265/

VBScript allows you to define and use custom classes in your script code. However, in TestComplete’s VBScript projects, you can create class instances only in the same script unit where the class is defined. Creating a class instance in another unit causes an error. The following code demonstrates the issue:

VBScript
[UnitA]
Class MyClass
  ...
End Class 
  
Sub TestRoutine
  ...
  ' Creating class in the same unit 
  Set cls = New MyClass ' OK! 
  ...
End Sub
 
[UnitB]
'USEUNIT UnitA 
Sub AnotherRoutine
  ...
  ' Creating class in another unit 
  Set cls = New MyClass ' Error! 
  ...
End Sub

To solve the problem, you can create a helper routine in the unit, in which the class is defined. This routine will create a class instance and return it. You can then call this routine from another unit and work with the created class instance in a usual manner:

[UnitA]
Class MyClass
  ...
End Class 
  
' This routine creates and returns a new class instance 
Function GetClassInstance
  Set GetClassInstance = New MyClass
End Function 

 
[UnitB]
'USEUNIT UnitA 
Sub AnotherRoutine
  ...
   ' Calling a routine defined in UnitA. 
  ' Do not forget to include this unit with the USEUNIT statement 
  Set cls = GetClassInstance ' OK ! 
  ...
End Sub


  • 0


Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных