[Mono-winforms-list] Windows Forms on Mac OS X
Erik Renes
keenriser at planet.nl
Wed Jan 9 07:34:29 EST 2008
Hi Everyone,
A short status update ...
Meanwhile I have succesfully installed cairo using macports, then I
have dllmapped the libcairo to the one installed by macports by
editing the config file in the Mono.Framework etc/ directory:
<dllmap dll="libcairo-2.dll" target="/opt/local/lib/libcairo.dylib"
os="osx"/>
This caused the windows forms application to work, however, only in
the second instance of X11. Let me elaborate:
First I start my test.exe using 'mono test.exe', then X11 pops up in
the dock and does not do anything. If I quit the running X11 instance
(right click on X in the dock and click Quit) it immediately comes
back after closing down. Directly after, the messagebox is being shown
as expected.
I can now run Windows Forms apps normally, however if I close this
second instance of X11, I have to repeat the procedure to get it
working again.
Now for development this is not so much of an issue, but runtime
deployment I don't think any user would want to do this just to run
one app.
Does anyone have any suggestions that I can try to make it work as
intended? (or is this intended?) I have read something about a native
driver for winforms, is it enabled by default in Mono 1.2.6 on Mac OS
X? If not, maybe this is something for me to try out, if anyone could
tell me how to enable it?
Best Regards,
Erik Renes
On Jan 9, 2008, at 9:41 AM, Erik Renes wrote:
> <test.cs>
>
> Hi All,
>
> I am currently trying to get a windows forms application to run on
> Mac OS X 10.5.1 (clean Mac OS X install, clean Mono install with the
> Mac OS X package from the website), however, it seems that there is
> something wrong with my setup. I have created a test application
> that does nothing but show a messagebox (attached: test.cs).
>
> The moment I do anything with windows forms, my application hangs.
> I have used the --trace mono option to check where it goes wrong,
> the following happens the first time I run the application:
>
> . . . . . . . . . . . . . . . . . . . . ENTER:
> System.Windows.Forms.XplatUIX11:.ctor ()(this:
> 0x1d31050[System.Windows.Forms.XplatUIX11 test.exe], )
> . . . . . . . . . . . . . . . . . . . . . ENTER:
> System.Windows.Forms.XplatUIDriver:.ctor ()(this:
> 0x1d31050[System.Windows.Forms.XplatUIX11 test.exe], )
> . . . . . . . . . . . . . . . . . . . . . LEAVE:
> System.Windows.Forms.XplatUIDriver:.ctor ()
>
> [ ... lots of initialization ... ]
> . . . . . . . . . . . . . . . . . . . . . ENTER: (wrapper managed-to-
> native) System.Windows.Forms.XplatUIX11:XInitThreads ()()
> . . . . . . . . . . . . . . . . . . . . . LEAVE: (wrapper managed-to-
> native) System.Windows.Forms.XplatUIX11:XInitThreads ()result=1
> . . . . . . . . . . . . . . . . . . . . . ENTER: (wrapper managed-to-
> native) System.Windows.Forms.XplatUIX11:XOpenDisplay (intptr)(0x0, )
>
> After the XOpenDisplay, my application does not proceed.
> Then I try to run it again (the previous application is closed, but
> X11 is still running) and get the following hang:
>
> ENTER: System.Environment:GetEnvironmentVariable (string)([STRING:
> 0x1822aa0:MONO_GDIP_USE_COCOA_BACKEND], )
> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
> ENTER: (wrapper managed-to-native)
> System.Security.SecurityManager:get_SecurityEnabled ()()
> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
> LEAVE: (wrapper managed-to-native)
> System.Security.SecurityManager:get_SecurityEnabled ()FALSE
> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
> ENTER: (wrapper managed-to-native)
> System.Environment:internalGetEnvironmentVariable (string)([STRING:
> 0x1822aa0:MONO_GDIP_USE_COCOA_BACKEND], )
> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
> LEAVE: (wrapper managed-to-native)
> System.Environment:internalGetEnvironmentVariable (string)
> [STRING:null],
> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
> LEAVE: System.Environment:GetEnvironmentVariable (string)
> [STRING:null],
> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
> ENTER: System.Environment:get_OSVersion ()()
> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
> LEAVE: System.Environment:get_OSVersion ()[System.OperatingSystem:
> 0x1d2bf00]
> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
> ENTER: System.Drawing.GdiplusStartupInput:MakeGdiplusStartupInput ()
> (VALUERET:0xbfffe1b4, )
> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
> LEAVE: System.Drawing.GdiplusStartupInput:MakeGdiplusStartupInput ()
> [01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,]
> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
> ENTER: System.Drawing.GdiplusStartupOutput:MakeGdiplusStartupOutput
> ()(VALUERET:0xbfffe19c, )
> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
> LEAVE: System.Drawing.GdiplusStartupOutput:MakeGdiplusStartupOutput
> ()[00,00,00,00,00,00,00,00,]
> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
> ENTER: (wrapper managed-to-native)
> System.Drawing.GDIPlus:GdiplusStartup
> (ulong
> &,System
> .Drawing.GdiplusStartupInput&,System.Drawing.GdiplusStartupOutput&)
> ([BYREF:0x8fafa4], [BYREF:0xbfffe1a4], [BYREF:0xbfffe194], )
>
> It seems that the initialization of GDIPlus does not complete
> succesfully.
>
> I have found threads on the OS X list suggesting that I should use a
> dll map to tell mono where my X11 is resided, however, this is
> already installed by default with the mono OS X package. What I
> think might be the problem - I'm not sure - is that I don't have
> Cairo installed. If this is indeed a problem, can anyone suggest a
> way to install this and make mono aware of it?
>
> I would be happy to receive any suggestions on how to troubleshoot
> this issue, as I have never used a mac for development before.
>
> Best Regards,
> Erik Renes_______________________________________________
> Mono-winforms-list maillist - Mono-winforms-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-winforms-list
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-winforms-list/attachments/20080109/4659f22b/attachment-0001.html
More information about the Mono-winforms-list
mailing list