Quote from pandabear:
So what I am guessing is then everyone who has gotten anything to work in Anvil has been through the extensions and nothing natively then?
If thats the case, then the Anvil API isnt everything that it is made to sound like. Its deep yes, but not easily accessible.
Finally, are you hooking into the windows message pump through a different app or through a custom extension DLL that you developed.
thanks
I think you're right... It does appear that you should be able to open a connection to the server directly via the API (I forget the call right now, but in the arguments you can specify an IP, port, account name, password, etc.) but Assent has told me that I
must use it as an extension DLL, as they then have more control and can guarantee compliance better (their words.) Perhaps your situation is different, though, and they wouldn't mind a stand-alone app.
At one point as part of my debugging, I tried to link my DLL to an "empty" application since you can run Anvil only during market hours. Unfortunately, I couldn't even load my DLL when I had the API linked in, and I didn't investigate further to figure out why.
I'm using C++/MFC, not .NET, but what I do since I want to be able to process data in my own app as opposed to an extension DLL is I used named pipes to send message between the DLL and my app. You could use sockets, shared memory, windows messages, i.e. any standard interprocess communication mechanism, to accomplish the same thing. Named pipes were the simplest, most convenient for me.
I would much rather have been able to just add the API to my own app.
BTW, if you do use it as an extension DLL, you can run Anvil as a system service and automatically load the DLL on startup. This, at least, made it an acceptable solution for me. I don't have to worry about whether or not Anvil is up when I'm running my app. If the market is open, it's up in the background.