Typically, a Component Enabler request for an Ispec (either as a result of requesting the fireup Ispec with the 'Hello' command or transmitting an Ispec to the host) uses a reference to an Ispec object. This is not the object itself but a reference to an object that Component Enabler can use to store an Ispec object.
A reference to the object is used because the object itself is dynamic, in that it has different attributes, sub-objects, and methods, depending on which Ispec it is. This means that it is not possible to create the actual object until the Ispec is known and loaded.
The code to request the fireup Ispec from the server is as follows:
Dim HelloIspecRef As Object Dim HelloIspec As Object Dim iResult As Integer Dim mvarCurrentIspec as Object ’Make an object reference to hold the ispecModelRef Set HelloIspecRef = mvarConnection.makeIspecModelRef() ’Say Hello iResult = mvarConnection.hello(HelloIspecRef, mvarStatus) ’Set HelloIspec object to Ispec returned from host Set HelloIspec = HelloIspecRef.GetObject() ’If we have a problem, display a message exit If (Not (mvarConnection.isOK(iResult))) Then MsgBox "Unable to request fireup Ispec - " + Str$(iResult) Exit Sub End If ’Return the current Ispec to the fireup Ispec Set mvarCurrentIspec = HelloIspec
At the end of this process, the application sends the fireup Ispec and the client program can start to retrieve or update the value of Data items on the Ispec.