IUBio

Data Translation SDK & Visual C++ - dynamic linking?

Quoc Thang Nguyen qnguyen at darwin.bio.uci.edu
Tue Apr 29 21:29:57 EST 1997


In article <5k4muq$9jq at saphir.jouy.inra.fr>,
   "Marion-Poll Frrederic" <marion at versailles.inra.fr> 
wrote:
>
>dear netters,
>
>May be someone of you have experienced the same problem and 
you could help
>me...
>
>We are doing electrophysiology here in our lab, and I use 
to work with Data
>Translation boards (DT2821, DT23EZ). I have developped a 
program in C++
>(running under W95 & NT4) to analyze our data. I would like 
to allow this
>program to acquire data with these boards. At the present 
time, I have the
>DT SDK, i.e. a library and DLLs that allow me to do the job 
nicely if the
>library is "statically linked" to it.
>
>However, the program linked that way does not run under NT4 
because the
>library is loaded when the program is launched, and it 
misses an entry
>point within the kernel not available only under W95. The 
solution would be
>to link the program "dynamically", ie use the library only 
when needed and
>when the program runs on a W95 computer.
>
>
>At the present time, I can't because for some obscure 
reason to me, my
>program does not get the correct address of the 
"olDaEnumBoards" function.
>I suspect that this has something to do with the CALLBACK 
mechanism and the
>static functions within my program.
>
>Any help would be appreciated.
>thanks in advance
>
>Frederic Marion-Poll
>INRA Phytopharmacie
>email : 
>marion at versailles.inra.fr
>
>
>
>

Dear Mr. Marion-Poll,

We used to have, quite a long time ago, someone in our lab 
who tried (unsuccessfully) to use the DT SDK (for a DT2821) 
to develop an Win32 electrophysiology application under 
NT3.5. At this time, the SDK was mostly 16-bit, and this 
person went into great pain to develop thunking layers 
between the 16-bit DLLs and his application, eventually to 
reach a "brick wall" and abandon the project altogether.

I could be totally wrong, but I think that the problem 
resides in the fact that NT does not allow port access, 
unless the library you use includes a kernel device driver 
specific to Windows NT. My wild guess is that the 
enumeration function fails, not because of a linking problem 
(because linking should behave similarly on all Win32 
platform) but because the olDaEnumBoards function tries 
unsucessfully to access hardware directly (???), a no-no 
under NT. If the SDK is NT-specific, then ignore my 
answer...

Good luck.




Quoc Thang NGUYEN
Laboratory of Cellular and
Molecular Neurobiology
Dept. of Psychobiology
University of California, Irvine
Irvine, CA92717 USA
Ph: (714) 824-4730
Fx: (714) 824-3522



More information about the Neur-sci mailing list

Send comments to us at biosci-help [At] net.bio.net