LorenPechtel
Programmer
I'm trying to send data from a Borland Pascal program to a Delphi program. The data is of variable size up to 4k. The problem is I want to do this fast--I'm hoping for 100ms.
What I've tried:
Writing to a file and reading it on the Delphi side. This works but the timing isn't what I'm looking for--I'm getting >500ms times.
IPX (since I had working IPX code on the dos side already). So far I haven't gotten a single packet received despite every field looking fine on the Delphi side. The callback function *DOES* get called when the listen is cancelled so things are at least reasonably correct. There's something seriously wrong, though, in that upon cancelling the fourth buffer I get a read of address $FFFFFFFF occuring inside the NWSIPX.DLL module (supplied by Novell, I have no debug info to see what it's up to at that point.)
I have basically complete control over the machines in question--their main job by far is running my program. I have tried to figure out some way to get a block of memory that both programs can see but I have not figured out any way to accomplish this.
Note: This solution only needs to work on win9x. The dos program is very problematic on 2k and won't even complete it's initialization on xp. (As far as I can tell file locks are fubar in an xp dos box.)
What I've tried:
Writing to a file and reading it on the Delphi side. This works but the timing isn't what I'm looking for--I'm getting >500ms times.
IPX (since I had working IPX code on the dos side already). So far I haven't gotten a single packet received despite every field looking fine on the Delphi side. The callback function *DOES* get called when the listen is cancelled so things are at least reasonably correct. There's something seriously wrong, though, in that upon cancelling the fourth buffer I get a read of address $FFFFFFFF occuring inside the NWSIPX.DLL module (supplied by Novell, I have no debug info to see what it's up to at that point.)
I have basically complete control over the machines in question--their main job by far is running my program. I have tried to figure out some way to get a block of memory that both programs can see but I have not figured out any way to accomplish this.
Note: This solution only needs to work on win9x. The dos program is very problematic on 2k and won't even complete it's initialization on xp. (As far as I can tell file locks are fubar in an xp dos box.)