Questione : errore con il DLL di external

Sto usando un DLL di external ed ottengo il seguente errore:

Attempted per leggere o scrivere - memoria protettiva. Ciò è spesso un'indicazione che l'altra memoria è corrupt.

System.AccessViolationException era unhandled
Message= " tentato per leggere o scrivere - memoria protettiva. Ciò è spesso un'indicazione che l'altra memoria è corrotta. “
StackTrace del
Source= " OptoTest ":
al
di OptoTest.Form1.OP930_GetTemperature (tempC del Double, unità Int32) a OptoTest.Form1.btnTempGet_Click (mittente di Object, EventArgs e) nei documenti di C:\Documents and Settings\user\My \ studio visivo 2008 \ progetti \ OptoTest \ OptoTest \ Form1.cs: linea 102
a System.Windows.Forms.Control.OnClick (e)
di EventArgs a System.Windows.Forms.Button.OnClick (e)
del EventArgs al
di System.Windows.Forms.Button.OnMouseUp (MouseEventArgs mevent) al
di System.Windows.Forms.Control.WmMouseUp (tasto di Message& m., di MouseButtons, scatti Int32) a System.Windows.Forms.Control.WndProc (m)
di Message& a System.Windows.Forms.ButtonBase.WndProc (m)
di Message& a System.Windows.Forms.Button.WndProc (m)
del Message& a System.Windows.Forms.Control. ControlNativeWindow.OnMessage (m)
di Message& a System.Windows.Forms.Control. ControlNativeWindow.WndProc (m)
di Message& al
di System.Windows.Forms.NativeWindow.DebuggableCallback (hWnd di IntPtr, msg Int32, wparam di IntPtr, lparam di IntPtr) a System.Windows.Forms.UnsafeNativeMethods.
di DispatchMessageW (msg di MSG&) a System.Windows.Forms.Application. ComponentManager. System.Windows.Forms.
di UnsafeNativeMethods.IMsoComponentManager.FPusop (dwComponentID Int32, Int32 di/>hMessageLocation.
di ThreadContext.RunMessageLoopInner (motivo Int32, contesto di ApplicationContext) a System.Windows.Forms.Application.
di ThreadContext.RunMessageLoop (motivo di Int32, contesto di ApplicationContext) a System.Windows.Forms.Application.
di Run (mainForm della forma) a OptoTest.Program.Main () nei documenti di C:\Documents and Settings\user\My \ studio visivo 2008 \ progetti \ OptoTest \ OptoTest \ Program.cs: line 18
al
del _nExecuteAssembly (assemblea di System.AppDomain. di Assembly, args della stringa []) al
di System.AppDomain.ExecuteAssembly (String assemblyFile, assemblySecurity di prova, args della stringa []) al
di Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly () a System.Threading.ThreadHelper.
di ThreadStart_Context (condizione di Object) al
di System.Threading.ExecutionContext.Run (executionContext di ExecutionContext, chiamata ripetuta di ContextCallback, condizione di oggetto) a System.Threading.ThreadHelper.
InnerException di ThreadStart ():

class= > " libero " del
> " del codeSnippet " del class= del
class= " lineNumbers " del
class= del
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
class= System.Runtime.InteropServices >using " notpretty " del id= " codeSnippet710343 " del
class= del

Risposta : errore con il DLL di external

Lo assomiglia alla funzione l'AR che denominare sta prendendo una temperatura, convertendola ed allora passandoglielo indietro la stessa discussione. Ciò indicherebbe che la prima discussione è realmente un indicatore ad un doppio anziché un doppio valore. Provare a modificare la vostra dichiarazione di DLLImport per essere come segue (notare il riferimento aggiunto prima del doppio):

[DllImport (“OP930M.DLL„)]
        int extern statico riservato OP930_GetTemperature (doppio tempC di riferimento, unità di int);

Altre soluzioni  
 
programming4us programming4us