We are trying to use the CW 7 Intel compiler to build externals for the
4th Dimension database, so far with little success.
The problem seems to be that 4D cannot identify the entry point in the
DLL, or maybe it cannot recognise the dll as a valid external module.
When 4D starts we get error #-1 (The external module cannot be executed.)
We are trying with project settlings that look something like this:
Source:
-------
#include "ASIPort.h" // Well, we're actually using it from a precompiled header
#if WINVER
__declspec(dllexport)
pascal void FourDPack(long entryPoint, PackagePtr params, Handle *data, ResultPtr
result)
#else
pascal void main(long entryPoint, PackagePtr params, Handle *data, ResultPtr resu
lt)
#endif
{
.
.
.
Link libraries:Quote:}
---------------
ASINTPPC.LIB
GDI32.LIB
KERNEL32.LIB
USER32.LIB
x86 linker options:
-------------------
Entry Point Usage: None
Sub System: Windows GUI
x86 Project options:
--------------------
Output File Type: DLL
Resource file:
--------------
Contains 4BNX and matching STR# resource as usual.
Maybe the name of the entry point isn't supposed to be FourDPack, even though
it is in the examples provided on the 4D Prerelease CD. Or maybe the problem
is that the exported entry point name seems to be mangled by CW and, at least
can't remember right now.) The source is plain C, so no C++ name mangling
should occur.
Any help in getting this to work would be greatly appreciated.
Sven Axelsson, Evolvera AB