PureBytes Links
Trading Reference Links
|
Thanks; - the SDK documentation is really sparse at best. Took me a damn
long time to figure how to set everything up perfectly.
What's funny is that I spent about 40minutes searching for the various
header and library files that Omega Research Programmed for interfacing
TS with C++ (elkit32.h, elkitvc.lib, etc..)....haha, the buggers
automatically install it for you in the omega research\program folder
when you install tradestation; however, since this is really for
developer use only, I figured they were on the CD and couldnt' figure
out why there weren't in the developer kit section, lol
-Alex
Phil Bailey wrote:
Alex,
Very educational and one for the notebook.
Nice key points highlighted.
Thanks,
Phil
-----Original Message-----
From: Alex [mailto:SRTOmegaList@xxxxxxx]
Sent: Friday, April 08, 2005 2:02 PM
To: omega-list@xxxxxxxxxx
Subject: RE - Problem with calling DLL
Hi Shawn - some thoughts
1) Try temporarily putting it in another folder (e.g., c:\temp) to see
if it's recognized there
2) Make certain you've compiled the DLL in EITHER Microsoft Visual
Studio (preferably 5.0 or 6.0 ..... writting wrappers and other nonsense
in the .NET versions is just silly for the amount of work it takes) or
Borland. I write all my DLLs with MS Visual C++ 6.0 (I suppose you
could write it with C++ .NET, but from what I've read there are SERIOUS
headaches with the new managed C++ setup)
Although you can write your DLL in another language, I recommend against
it - stick with C++, it will produces the least amount of headaches when
trying to get it to work. Also, do NOT use any other compiler other than
MS or Borland products - there are lots of freeware alternatives out
there, but they compile DLLs differently and won't be compatible with TS
(I knwo this for a fact since yesterday I spent like 2 or 3hrs playing
around with a friend at work on a free C++ compiler and finally figured
out that it wasn't compiling it the way TS would recognize it)
3) Make certain in the C++ code (assuming you're using C++, which you
should be imho), you've tagged the function in the implementation file
(*.cpp) as __stdcall - note teh double underscore
4) In the declaration file (*.h), make certain you've declared it as
__declspec(dllexport)
5) **MOST IMPORTANTLY** make certain you have a definition file (*.def)
that has the line EXPORTS followed by the functions that it will be
exporting - this is where some freeware compilers mess up - they INSIST
on buildng their own .def file, but TS needs the dll to have been built
with a simple def file, like:
EXPORTS
MYFUNCTION1
MYFUNCTION2
6) make certain function name (in TS and C++) is all in caps
That should help you.
-Alex
|