[Mono-list] Help in dealing with Mono/.NET PInvoke issue

Dinis Cruz dinis.cruz at googlemail.com
Thu Jan 7 20:01:05 EST 2010


Hi Chris,

I've just checked-in the code that contains this project, so now all
relevant source code is on the O2Platform
sourcecode<http://code.google.com/p/o2platform/source/checkout>

Here is the list of the PInvokes that (I think) are causing the problem

   - Win32 Native methods:
   http://code.google.com/p/o2platform/source/browse/trunk/SourceCode_3rdParty_Dlls/DockPanel/WinFormsUI/Docking/Win32/NativeMethods.cs
   - Win32 Enums:
   http://code.google.com/p/o2platform/source/browse/trunk/SourceCode_3rdParty_Dlls/DockPanel/WinFormsUI/Docking/Win32/Enums.cs

To easily replicate this, please use this project
http://code.google.com/p/o2platform/source/browse/trunk/O2%20-%20All%20Active%20Projects/O2Core/O2/O2.sln
since
it only loads up that GUI and when executed (OSx 10.6) throws this error
message:

Unhandled Exception: System.DllNotFoundException: user32.dll
  at (wrapper managed-to-native)
WeifenLuo.WinFormsUI.Docking.NativeMethods:SetWindowsHookEx
(WeifenLuo.WinFormsUI.Docking.Win32.HookType,WeifenLuo.WinFormsUI.Docking.NativeMethods/HookProc,intptr,int)
  at
WeifenLuo.WinFormsUI.Docking.DockPanel+FocusManagerImpl+LocalWindowsHook.Install
() [0x00021] in
/Users/.../Projects/SourceCode_3rdParty_Dlls/DockPanel/WinFormsUI/Docking/DockPanel.FocusManager.cs:91
  at WeifenLuo.WinFormsUI.Docking.DockPanel+FocusManagerImpl..ctor
(WeifenLuo.WinFormsUI.Docking.DockPanel dockPanel) [0x00087] in
/Users/.../Projects/SourceCode_3rdParty_Dlls/DockPanel/WinFormsUI/Docking/DockPanel.FocusManager.cs:130
  at (wrapper remoting-invoke-with-check)
WeifenLuo.WinFormsUI.Docking.DockPanel/FocusManagerImpl:.ctor
(WeifenLuo.WinFormsUI.Docking.DockPanel)
  at WeifenLuo.WinFormsUI.Docking.DockPanel..ctor () [0x000c8] in
/Users/.../Projects/SourceCode_3rdParty_Dlls/DockPanel/WinFormsUI/Docking/DockPanel.cs:44
  at (wrapper remoting-invoke-with-check)
WeifenLuo.WinFormsUI.Docking.DockPanel:.ctor ()
  at O2.External.WinFormsUI.Forms.O2GuiWithDockPanel.InitializeComponent ()
[0x00000] in /Users/.../Projects/O2 - All Active Projects/O2 Modules Using
3rd Party
Dlls/O2_External_WinFormsUI/Forms/O2GuiWithDockPanel.Designer.cs:32
  at O2.External.WinFormsUI.Forms.O2GuiWithDockPanel..ctor () [0x0000d] in
/Users/.../Projects/O2 - All Active Projects/O2 Modules Using 3rd Party
Dlls/O2_External_WinFormsUI/Forms/O2GuiWithDockPanel.cs:24
  at (wrapper remoting-invoke-with-check)
O2.External.WinFormsUI.Forms.O2GuiWithDockPanel:.ctor ()
  at O2.External.WinFormsUI.O2Environment.O2DockPanel.getO2GuiWithDockPanel
() [0x0000a] in /Users/.../Projects/O2 - All Active Projects/O2 Modules
Using 3rd Party Dlls/O2_External_WinFormsUI/O2Environment/O2DockPanel.cs:87
  at
O2.External.WinFormsUI.O2Environment.O2DockPanel.addControlToO2GuiWithDockPanelSync
(O2.External.WinFormsUI.O2Environment.O2DockContent controlToAdd) [0x00020]
in /Users/.../Projects/O2 - All Active Projects/O2 Modules Using 3rd Party
Dlls/O2_External_WinFormsUI/O2Environment/O2DockPanel.cs:99
  at
O2.External.WinFormsUI.O2Environment.O2DockPanel.addControlsToFormAndStartIt
(IEnumerable`1 controlsToAdd) [0x00013] in /Users/.../Projects/O2 - All
Active Projects/O2 Modules Using 3rd Party
Dlls/O2_External_WinFormsUI/O2Environment/O2DockPanel.cs:159
  at
O2.External.WinFormsUI.O2Environment.O2DockPanel.openO2DockContentInNewDockPanel
(System.Collections.Generic.List`1 controlsToLoad) [0x00010] in
/Users/.../Projects/O2 - All Active Projects/O2 Modules Using 3rd Party
Dlls/O2_External_WinFormsUI/O2Environment/O2DockPanel.cs:76
  at O2.External.WinFormsUI.O2Environment.O2DockPanel..ctor () [0x00006] in
/Users/.../Projects/O2 - All Active Projects/O2 Modules Using 3rd Party
Dlls/O2_External_WinFormsUI/O2Environment/O2DockPanel.cs:20
  at O2.External.WinFormsUI.Forms.O2AscxGUI.<launch>m__8 () [0x00000] in
/Users/.../Projects/O2 - All Active Projects/O2 Modules Using 3rd Party
Dlls/O2_External_WinFormsUI/Forms/O2AscxGUI.cs:43
  at O2.DotNetWrappers.DotNet.O2Thread+<staThread>c__AnonStorey9.<>m__B ()
[0x00000] in /Users/.../Projects/O2 - All Active
Projects/O2Core/O2_DotNetWrappers/DotNet/O2Thread.cs:34
The application was terminated by a signal: SIGHUP


Thanks

Dinis Cruz

2010/1/4 Chris Howie <cdhowie at gmail.com>

> > I just wrote a blog post about the problem I currently have
> > (see
> http://diniscruz.blogspot.com/2010/01/o2-on-mono-monodevelop-and-osx.html
> ),
> > which seems to be a variation of one you have seen several times in the
> > past: "Unhandled Exception: System.DllNotFoundException: user32.dll"
>
> This means that your platform is invoking one of Windows' native
> libraries.  You need to figure out how to perform the equivalent call
> on Linux or OS X.  Note that there may be a framework method for what
> you are trying to do, and you should use it if that is the case.
>
> Without knowing which P/Invoke call you are making it's not possible
> to tell if this is fixable.
>
> --
> Chris Howie
> http://www.chrishowie.com
> http://en.wikipedia.org/wiki/User:Crazycomputers
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-list/attachments/20100108/f2a0815e/attachment.html 


More information about the Mono-list mailing list