DEFINE CLASS()

From Recital Documentation Wiki
Revision as of 12:52, 27 March 2009 by Yvonnemilne (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

PURPOSE

A macro to define a class


SYNONYM

None


SYNOPSIS

#include "dbapi.h"
 
DEFINE_CLASS(classname)
 
<input parameters>
constant		classname;	/* Class name 	*/
 
<output parameters>
none


DESCRIPTION

The DEFINE_CLASS() macro is used to define a class that can be accessed from the Recital 4GL. This class needs to be added to the API_SHARED_FUNCTION_TABLE data structure which is loaded dynamically when Recital is started.


EXAMPLE

The following example defines a class called clsMyClass and defines some dispatch methods.

Example Recital program:

// The constructor is called when the object is created
test = newobject("myclass") 
? type("test")

</code>

Example in 'C' object:

#include "dbapi.h"
 
static	struct	API_SHARED_FUNCTION_TABLE api_function_table[2] = {
	{"myclass", "clsMyClass",		API_CLASS},
	{NULL,		NULL,			-1}
} ;
 
DEFINE_CLASS(clsMyClass)
{
	/* Dispatch factory methods and return */
	DISPATCH_FACTORY();
 
	/* Dispatch constructor and return */
	DISPATCH_METHOD(clsMyClass, Constructor);
 
	/* Dispatch destructor and return */
	DISPATCH_METHOD(clsMyClass, Destructor);
}
 
==SEE ALSO==
[[DEFINE_METHOD()]], [[DEFINE_PROPERTYGET()]], [[DEFINE_PROPERTYSET()]], [[DISPATCH_FACTORY()]], [[DISPATCH_METHOD()]], [[DISPATCH_PROPGET()]], [[DISPATCH_PROPSET()]], [[OBJECT_ASSIGN()]], [[OBJECT_DELETE()]], [[OBJECT_GETARG()]], [[OBJECT_GETARGC()]], [[OBJECT_GETDATA()]], [[OBJECT_GETOBJECT()]], [[OBJECT_GETPARAMETER()]], [[OBJECT_GETPROPERTY()]], [[OBJECT_GETTYPE()]], [[OBJECT_GETVALUE()]], [[OBJECT_NEW()]], [[OBJECT_RETERROR()]], [[OBJECT_RETPROPERTY()]], [[OBJECT_RETRESULT()]], [[OBJECT_SETARG()]], [[OBJECT_SETDATA()]], [[OBJECT_SETPROPERTY()]]
[[Category:Documentation]]
[[Category:SDK]]