![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
The OPX language extension interface for OPL has changed in ER5. OPX DLLs must now export an additional function, Version() with the following prototype:
EXPORT_C TUint Version();
This function must be the second ordinal export of the OPX, and should return the OPXs version. The first ordinal export, NewOpxL(), can remain unchanged.
This change allows the version number of loaded OPXs to be examined. This allows OPX Manager-type applications to be written in C++ to report on the versions of OPXs found on the EPOC device.
It is not necessary to re-release an OPX just to add this export, as any attempt to call an export in a DLL that is not present will cause the loader to return a null pointer that can be checked before the call is made. An OPX developed for earlier versions of EPOC will still be useable from ER5 OPL programs.
However, as the OPX export definitions (.def
) file has changed in ER5, an error will be reported during linking if this export is missing when attempting to compile the OPX using the ER5 C++ SDK. Version() must be exported when compiling any ER5 OPX.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |