The events described so far represent standard event classes that are pre-defined in the TECEIF.DLL. The Application Send event is a generic event that is pre-defined, but can be customized by supplying your own parameters.
The following sample code shows how to implement a generic application event.
| tec nameValueArray nameValuePairs nameValue anArray initArray rc1 | nameValuePairs := 2. nameValueArray :=TecEifNameValue new: 2. nameValueArray at: 0 put: ( TecEifNameValue new szName: 'date'; bInteger: 0; szValue: 'Tue Aug 5 23:59:57 1997'; nValue: 23). nameValueArray at: 1 put: ( TecEifNameValue new szName: 'CommonWidgets'; bInteger: 0; szValue: 'CwFileSelectionPrompter'; nValue: 17). tec := TivTecEifWrapper new. anArray := Array new: 5. anArray at: 1 put: (tec nullTerminate: 'unknown class'); at: 2 put: (tec nullTerminate: (TecEifConstants at: 'EifHarmless')); at: 3 put: 2; at: 4 put: nameValueArray abtAsExternalPassedPointer; at: 5 put: (tec nullTerminate: 'string'). initArray := Array new: 3. initArray at: 1 put: (tec nullTerminate: 'e:\visualag\teceif.cfg'). initArray at: 2 put: (tec nullTerminate: 'My test Application' ). initArray at: 3 put: (tec nullTerminate: 'ComponentId'). rc1 := tec tecTvInitEvents: initArray. tec tecTvSendEvent: (anArray ). tec tecTvTecClose.
In this example,
anArray defines the five parameters to the event: class name, severity, nameValueArray size, nameValueArray , and a descriptive string.
initArray defines three parameters for initializing the TECEIF.DLL: name of the configuration file, application name, and component name.
The last three statements in this example