An Automation Component must be installed within the operating system and within the IDE.
Register the COM object with regsvr32
Register the COM object from code
Borland C++Builder 6 installation
Code Gear Delphi 2007 installation
Visual Basic 2005 .NET installation
Visual C++ / C# 2005 .NET installation
//---------------------------------------------------------------------------------------------------------------
Use the command:
regsvr32.exe optimal1dx.dll
A message should appear telling you that the registration has succeeded.
Note for Windows 64bit users: There are two regsvr32.exe applications. One of them is located in System32 folder and the other one is located in SysWow64 folder. Try with the one located in SysWow64 folder.
On some builds of Windows the registration fails. Sometimes the message The module optimal1dx.dll was loaded but the the call to DllRegisterServer failed with error code 0x8002801c is displayed. The reason for this message is that some parts of the registry cannot be accessed.
In some other cases the successful registration message is displayed but no registration is actually performed.
To fix these problems you must run the regsvr32 application as an Administrator. You MUST do that even if you are already logged in as Administrator. To do that please follow the steps:
If you are not able to Run the Cmd As Administrator you may also create a .bat file containing the command regsvr32 optimal1dx.dll and then run that file As Administrator.
Note for Windows Visual Studio users: Set the Solution platform type to Win32! By default is set to AnyCPU which is incorrect because the dll is a 32bit COM object.
//---------------------------------------------------------------------------------------------------------------
You may also register the component from code. This is useful when you want to distribute the application to your customers.
Here is a C++ code which does the registration from within code:
char buffer[4096];
buffer[0] = 0;
GetModuleFileName(NULL, buffer, 4096);
HMODULE hDLL;
hDLL = LoadLibrary("optimal1dx.dll"); // make sure
that the path is full !!!
if (hDLL != NULL){
typedef HRESULT (CALLBACK *HCRET)(void);
HCRET lpfnDllRegisterServer;
lpfnDllRegisterServer = (HCRET)GetProcAddress(hDLL, "DllRegisterServer");
if (lpfnDllRegisterServer == NULL)
; // the com sever might be corrupt
(*lpfnDllRegisterServer)(); // cal the registration function
FreeLibrary(hDLL);
}
else
; // the dll was not found
//---------------------------------------------------------------------------------------------------------------
For using this component within C++Builder environment you must install it first.
Choose:
Project | Import Type Library
From the list box "Import Type Library" choose "optimal1dx" library.
You may select the "Palette Page" where this component will be installed. By default is "ActiveX" page.
Press the "Install" button.
Note:
There are some errors within C++Builder 6 environment which are not corrected by Borland.
Because of that you cannot use the public properties of this object.
You may use instead the methods behind the properties (such as set_OptimizationLevel).
See the examples and the help file.
//---------------------------------------------------------------------------------------------------------------
For using this component within Delphi environment you must install it first.
Choose:
Project | Import Type Library
From the list box "Import Type Library" choose "optimal1dx" library.
You may select the "Palette Page" where this component will be installed. By default is "ActiveX" page.
Press the "Install" button.
//---------------------------------------------------------------------------------------------------------------
For using the component within Delphi environment you must install them
first.
Choose:
Component | Import Component
then
Import Type Library
From the list box "Registered Type Libraries" choose "optimal1dx"
library.
You may select the "Palette Page" where this component will be
installed. Use a standard page such as "Additional" since not all
pages are displayed in some versions of Delphi.
Next. Finish.
Wait: the component is NOT installed yet in the Component Palette.
A unit called optimal1dx_TLB.pas was created ... please remember
its path.
Create a new package from File | New | Others | Package. The
package contents will appear in the right part of the screen.
Right click the name of the project (which has bpl extension) and
choose Add... and in the "Unit file name" browse to the
location of optimal1dx_TLB.pas (which was previously created).
Press OK.
Right click the name of the project (which has bpl extension) and
choose Install. A message should confirm the installation.
//---------------------------------------------------------------------------------------------------------------
For using this component within Visual Basic environment you must install it first.
Choose:
Project | References
Find and check the "optimal1dx" library.
//---------------------------------------------------------------------------------------------------------------
For using this component within Visual Basic environment you must install it first.
Choose:
Project | Add References | COM
Find and check the "optimal1dx" library.
Set the Solution platform type to Win32.
//---------------------------------------------------------------------------------------------------------------
For using this component within VC++ environment you must install it first.
Choose:
Project | Properties | References | Add New reference | COM
Find and check the "optimal1dx" library.
Set the Solution platform type to Win32.
//----------------------------------------------------------------------------------------------------------------
the same applies for other .NET languages (C#, J#).
//----------------------------------------------------------------------------------------------------------------
In the Visual Basic Editor press menu Tools | References.
Check the optimal1dx Library.
//----------------------------------------------------------------------------------------------------------------
You need Jacob package for making native code calls from java code
//----------------------------------------------------------------------------------------------------------------