Sept. 18, 2001

In This Issue

SEObjectWrapper - Integrating C++ Objects With ScriptEase
 

ISDK/C 4.30d Errata
 
ISDK/C 4.40c Errata
 
ISDK/Java 4.30b Errata

Other Newsletters

DevSpace Developer Support

For more information and resources, visit ScriptEase: ISDK DevSpace online.

Download Center

For latest updates and extensions, visit the ISDK Download Center.

 

Introducing SEObjectWrapper - Integrating C++ Objects with ScriptEase
Using the SEObjectWrapper class (JseObject.h and JseObject.cpp) to simplify the integration of C++ objects with javascript objects

One of the most useful and important features of the ScriptEase ISDK has long been the ability to wrap C/C++ objects automatically within JavaScript objects through the use of wrappers, dynamic callbacks, and various flags. In this way a C/C++ object can be represented transparently as a JavaScript object, and vice versa.

C++ developers often ask for help with wrapping C++ objects as JavaScript objects. Now that help is available in the form of a C++ class: SEObjectWrapper.

SEObjectWrapper Goals

From the SEObjectWrapper Addendum:

The SEObjectWrapper class is designed with the following goals in mind:
  • Letting the user create new objects from within the ScriptEase engine
  • Automatic management of object lifetime and deletion
  • Simple method of exporting existing methods to the ScriptEase engine
  • Simple method of exporting dynamic properties to the ScriptEase engine
  • Ability to create fully dynamic ScriptEase objects easily
  • Allowing for any C++ object hierarchy to be represented in ScriptEase
The SEObjectWrapper class is designed to be simple to use, yet powerful enough to handle all of your needs.  With just a few extra lines of code and some wrapper functions, any class can be converted into a ScriptEase object with minimal effort.

SEObjectWrapper Manual

Complete documentation for SEObjectWrapper is available as an addendum to the ISDK User Manuals, as the document: Integrating C++ Objects with ScriptEase and SEObjectWrapper.

SEObjectWrapper is not the only way to integrate C++ classes with ISDK/C, and many of you will continue with your own methods that may best suit your applications. Whether you use SEObjectWrapper directly or only for ideas, I hope SEObjectWrapper proves useful in your ScriptEase development efforts.

Have a question about how to use ScriptEase:ISDK? Let Dr. Scripter know at http://support.nombasxxx.com/


 Errata

  ISDK/C 4.30d

  • rare GC problem on dynamic objects: In very rare circumstances, a garbage-collection may occur during manipulation of a dynamic object callback that could invalidate an internal stack variable. This has never been found to happen in the field, but new internal debugging code has detected the possibility. [details]
  • VT_ARRAY has been added to COMOBJ: Update: VT_ARRAY has been added to COMOBJ for getters (although not yet for putters). This allows scripts interacting with COM objects to retrieve array data. [details]

 Errata

  ISDK/C 4.40c

  • jseMemberEx and jseIndexMemberEx do not search prototypes: Warning: In moving from version 4.30 to 4.40, and if you were using the jseMemberEx() or jseIndexMemberEx() functions without the jseDontSearchPrototype flag, then you will find that with version 4.40 members will not be located in the _prototype chain. [details]
  • VT_ARRAY has been added to COMOBJ: Update: VT_ARRAY has been added to COMOBJ for getters (although not yet for putters). This allows scripts interacting with COM objects to retrieve array data. [details]

 Errata

  ISDK/Java 4.30d

ScriptEase: ISDK is a product of Nombas, Inc. Visit us at ../index.htm