c# - Attempted to read or write protected memory on DAQ -


i trying program icp das daq dio-24 following code.

class dio

class dio     {         #region dio         public const short  dio_noerror  = 0;         public const short  dio_driveropenerror  = 1;         public const short  dio_drivernoopen  = 2;         public const short dio_getdriverversionerror  = 3;         public const short dio_installirqerror  = 4;         public const short dio_clearintcounterror  = 5;         public const short dio_getintcounterror  = 6;         public const short dio_reseterror  = 7;         public const short dio_removeirqerror  = 8;          public const short dio_gettotalboarderror  = 9;         public const short dio_cardnotfound  = 10;         public const short dio_getconfigerror  = 11;         public const short dio_exceedboardnumber = 12;          // test function         [dllimport("dio.dll")]         public static extern int dio_shortsub2(int a, int b);         [dllimport("dio.dll")]         public static extern single dio_floatsub2(single a, single b);         [dllimport("dio.dll")]         public static extern int dio_getdllversion();         [dllimport("dio.dll")]         public static extern int dio_getdriverversion(int wdriverversion);          // driver function         [dllimport("dio.dll")]         public static extern int dio_driverinit(int wtotalboards);         [dllimport("dio.dll")]         public static extern void dio_driverclose();         [dllimport("dio.dll")]         public static extern int dio_getconfigaddress(int waddrbase, int wcurrentboard);         [dllimport("dio.dll")]         public static extern int dio_activeboard(int wboardno);          // dio functions         [dllimport("dio.dll")]         public static extern void dio_outputbyte(int address, byte dataout);         [dllimport("dio.dll")]         public static extern void dio_outputword(int address, int dataout);         [dllimport("dio.dll")]         public static extern int dio_inputbyte(int address);         [dllimport("dio.dll")]         public static extern int dio_inputword(int address);          // interrupt functions         [dllimport("dio.dll")]         public static extern int dio_intinstall(long hevent);         [dllimport("dio.dll")]         public static extern int dio_intgetcount(long wintcount);         [dllimport("dio.dll")]         public static extern int dio_intremove();          // dio-48 counter         [dllimport("dio.dll")]         public static extern void dio48_setcounter(int wbase, int wcounterno, int bcountermode, long wcountervalue);         [dllimport("dio.dll")]         public static extern long dio48_readcounter(int wbase, int wcounterno, int bcountermode);         [dllimport("dio.dll")]         public static extern void dio48_setcountera(int wcounterno, int bcountermode, long wcountervalue);         [dllimport("dio.dll")]         public static extern long dio48_readcountera(int wcounterno, int bcountermode);          // dio-64 counter         [dllimport("dio.dll")]         public static extern void dio64_setcounter(int wbase, int wcounterno, int bcountermode, long wcountervalue);         [dllimport("dio.dll")]         public static extern long dio64_readcounter(int wbase, int wcounterno, int bcountermode);         [dllimport("dio.dll")]         public static extern void dio64_setcountera(int wcounterno, int bcountermode, long wcountervalue);         [dllimport("dio.dll")]         public static extern long dio64_readcountera(int wcounterno, int bcountermode);         #endregion     } } 

form1

public partial class form1 : form     {          long lirqcnt, lservicecnt;         int wtotalboards, wrtn, wselect;         int wbase;          public form1()         {             initializecomponent();         }          private void form1_load(object sender, eventargs e)         {             // driver initailization             try             {                 wrtn = dio.dio_activeboard(wtotalboards);             }             catch (exception ex)             {                 trace.writeline(ex.message);             }              if (wrtn != dio.dio_noerror)             {                 messagebox.show("driver initailization error");             }             else              {                 messagebox.show("driver initializatin successful");             }             eboards.text = wtotalboards.tostring();             eselect.text = "0";         }     } 

on form1_load in

wrtn = dio.dio_driverinit(wtotalboards); 

i error

{"attempted read or write protected memory. indication other memory corrupt."} 

on stacktrace get:

at dio24.dio.dio_driverinit(int32 wtotalboards)    @ dio24.form1.form1_load(object sender, eventargs e) in c:\users\cdev\documents\visual studio 2010\projects\dio24\dio24\form1.cs:line 48    @ system.windows.forms.form.onload(eventargs e)    @ system.windows.forms.form.oncreatecontrol()    @ system.windows.forms.control.createcontrol(boolean fignorevisible)    @ system.windows.forms.control.createcontrol()    @ system.windows.forms.control.wmshowwindow(message& m)    @ system.windows.forms.control.wndproc(message& m)    @ system.windows.forms.scrollablecontrol.wndproc(message& m)    @ system.windows.forms.form.wmshowwindow(message& m)    @ system.windows.forms.form.wndproc(message& m)    @ system.windows.forms.control.controlnativewindow.onmessage(message& m)    @ system.windows.forms.control.controlnativewindow.wndproc(message& m)    @ system.windows.forms.nativewindow.debuggablecallback(intptr hwnd, int32 msg, intptr wparam, intptr lparam)    @ system.windows.forms.safenativemethods.showwindow(handleref hwnd, int32 ncmdshow)    @ system.windows.forms.control.setvisiblecore(boolean value)    @ system.windows.forms.form.setvisiblecore(boolean value)    @ system.windows.forms.control.set_visible(boolean value)    @ system.windows.forms.application.threadcontext.runmessageloopinner(int32 reason, applicationcontext context)    @ system.windows.forms.application.threadcontext.runmessageloop(int32 reason, applicationcontext context)    @ system.windows.forms.application.run(form mainform)    @ dio24.program.main() in c:\users\cdev\documents\visual studio 2010\projects\dio24\dio24\program.cs:line 18    @ system.appdomain._nexecuteassembly(runtimeassembly assembly, string[] args)    @ system.appdomain.executeassembly(string assemblyfile, evidence assemblysecurity, string[] args)    @ microsoft.visualstudio.hostingprocess.hostproc.runusersassembly()    @ system.threading.threadhelper.threadstart_context(object state)    @ system.threading.executioncontext.runinternal(executioncontext executioncontext, contextcallback callback, object state, boolean preservesyncctx)    @ system.threading.executioncontext.run(executioncontext executioncontext, contextcallback callback, object state, boolean preservesyncctx)    @ system.threading.executioncontext.run(executioncontext executioncontext, contextcallback callback, object state)    @ system.threading.threadhelper.threadstart() 

if use sample code came dio-24 software in vb6.0, same code runs. appreciate help.


Comments

Popular posts from this blog

Command prompt result in label. Python 2.7 -

javascript - How do I use URL parameters to change link href on page? -

amazon web services - AWS Route53 Trying To Get Site To Resolve To www -