Frequently Asked Questions
Custom Functions
Note: Differences between the Developer and Enterprise Editions are listed here.
How do I handle a missing dbghelp.dll?
During compilation of a StreamBase client, operator, or custom function, you may see the following error message:
The procedure entry point SymFromAddr could not be located in the dynamic link library dbghelp.dll
This means that the machine on which the code is being compiled has the incorrect version of DBGHELP.DLL. As of July 2006, the required version is 5.1.2600.2180. StreamBase installs this version, but it also needs to be in the system32 directory. You can solve the problem using any of these options:
- Copy your binary to the DBGHELP.DLL directory
- Copy the DBGHELP.DLL to your application's directory
- Rename DBGHELP.DLL to another, unique name such as TPKHELP.DLL. Next, patch your binary to link to TPKHELP.DLL rather than DBGHELP.DLL.
- Boot Windows in Safe Mode to disable system file protection. In safe mode, you can replace the DLL in system32 (and, necessarily, in dllcache, in the next step).
- Find all DBGHELP.DLL files (there are likely to be several in system32, in dllcache, and in ServicePackFiles). Delete them all. When Windows prompts you to insert the original CD to restore these files, cancel the warning window. Now copy the new version.
Are Java custom functions more efficient than C++ functions?
Since StreamBase Version 3.0, custom-written Java functions have shown greater efficiency than custom functions developed in C++.
Are there tips for compiling C++ custom functions on Windows?
When building C++ custom functions on a Windows platform, keep in mind the following guidelines:
- You must compile in release mode, not in debug mode.
- You cannot use Visual C++ default projects. For project settings, please refer to the StreamBase Help topic, Creating C++ Clients, in the API Guide.