Pergunta : erro com DLL do external

Eu estou usando um DLL do external e começ o seguinte erro:

Attempted para ler ou escrever - a memória protegida. Esta é frequentemente uma indicação que a outra memória é corrupt.

System.AccessViolationException era o unhandled
Message= " tentado ler ou escrever - memória protegida. Esta é frequentemente uma indicação que a outra memória é corrompida. Do “
StackTrace
Source= " OptoTest ":
no
de OptoTest.Form1.OP930_GetTemperature (tempC do Double, unidades Int32) em OptoTest.Form1.btnTempGet_Click (remetente de Object, EventArgs e) nos originais de C:\Documents and Settings\user\My \ estúdio visual 2008 \ projetos \ OptoTest \ OptoTest \ Form1.cs: linha 102
em System.Windows.Forms.Control.OnClick (e)
de EventArgs em System.Windows.Forms.Button.OnClick (e)
do EventArgs no
de System.Windows.Forms.Button.OnMouseUp (MouseEventArgs mevent) no
de System.Windows.Forms.Control.WmMouseUp (tecla de Message& m, de MouseButtons, cliques Int32) em System.Windows.Forms.Control.WndProc (m)
de Message& em System.Windows.Forms.ButtonBase.WndProc (m)
de Message& em System.Windows.Forms.Button.WndProc (m)
do Message& em System.Windows.Forms.Control. ControlNativeWindow.OnMessage (m)
de Message& em System.Windows.Forms.Control. ControlNativeWindow.WndProc (m)
de Message& no
de System.Windows.Forms.NativeWindow.DebuggableCallback (hWnd de IntPtr, msg Int32, wparam de IntPtr, lparam de IntPtr) em System.Windows.Forms.UnsafeNativeMethods.
de DispatchMessageW (msg de MSG&) em System.Windows.Forms.Application. ComponentManager. System.Windows.Forms.
de UnsafeNativeMethods.IMsoComponentManager.FPusop (dwComponentID Int32, Int32 de/>hMessageLocation.
de ThreadContext.RunMessageLoopInner (razão Int32, contexto de ApplicationContext) em System.Windows.Forms.Application.
de ThreadContext.RunMessageLoop (razão de Int32, contexto de ApplicationContext) em System.Windows.Forms.Application.
de Run (mainForm do formulário) em OptoTest.Program.Main () nos originais de C:\Documents and Settings\user\My \ estúdio visual 2008 \ projetos \ OptoTest \ OptoTest \ Program.cs: line 18
no
do _nExecuteAssembly de System.AppDomain. (conjunto de Assembly, args da corda []) no
de System.AppDomain.ExecuteAssembly (String assemblyFile, assemblySecurity da evidência, args da corda []) no
de Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly () em System.Threading.ThreadHelper.
de ThreadStart_Context (estado de Object) no
de System.Threading.ExecutionContext.Run (executionContext de ExecutionContext, rechamada de ContextCallback, estado de objeto) em System.Threading.ThreadHelper.
InnerException de ThreadStart ():

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

Resposta : erro com DLL do external

Olha-o como a função AR que chamar está tomando uma temperatura, convertendo a e então passando lhe para trás me o mesmo argumento. Isto indicaria que o primeiro argumento é realmente um ponteiro a um dobro em vez de um valor dobro. Tentar modificar sua indicação de DLLImport para ser como segue (anotar a referência adicionada antes do dobro):

[DllImport (“OP930M.DLL”)]
        int extern de estática confidencial OP930_GetTemperature (tempC dobro da referência, unidades do int);

Outras soluções  
 
programming4us programming4us