The following code sample implements the tvSendEvent API in the TECEIF.DLL header:
| 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 Nov 5 23:59:57 1996'; 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.