[Mono-winforms-list] basic assistance

Peter Dennis Bartok peter@novonyx.com
Sat, 9 Apr 2005 14:05:41 -0600


You cannot use mono <executable> to run SWF apps on the mac. You need to run 
what macpack generates.

Peter

-----Original Message-----
From: "Jon Heiner" <jon.heiner@gmail.com>
To: <mono-winforms-list@lists.ximian.com>
Date: 09 April, 2005 13:08
Subject: [Mono-winforms-list] basic assistance


>[apologies if this is a repost]
>
>I'm trying to get an extremely simple Windows.Forms app running. I'm
>assuming it's one of a.) bad install, b.) conflicts between versions,
>c.) incorrect command line, or d.) incorrect calling context. I've
>attached all the relevant documentation. I'm sure i'm doing something
>boneheaded. fyi, the code compiles fine and the macpack generates an
>app. build code below. i just can't run it.
>
>My overall goal, btw, is to get a simple window up, grab the GD and
>draw my own stuff straight to there. But i've been trying for a few
>days to get this working to no avail. but I know you guys are doing it
>successfully since I see ongoing controls development.
>
>thx in advance. heina
>
>
>system:
>OSX 10.3.8 Powerbook G4
>both mono 1.1.4 & 1.1.6 installed (this may be causing conflicts. 1.1.6
>is active, but when i installed X from apple.com it put the dylibs in
>1.1.4 only)
>running mono from an actual xterm instead of the mac terminal (is this
>necessary?)
>
>stacktrace:
>$ /Library/Frameworks/Mono.framework/Versions/1.1.4/bin/mono
>helloworld.exe
>
>Unhandled Exception: System.TypeInitializationException: An exception
>was thrown by the type initializer for System.Drawing.GDIPlus --->
>System.DLLNotfoundException:
>/Library/Frameworks/Mono.framework/Version/1.1.4/lib/libdgiplus.dylib
>in <0x000d8> (wrapper-to-native) System.Drawing.GDIPlus:GdiplusStartup
>(
>.....
>  in System.Windows.Forms.XplatUI:get_DefaultClassName()
>
>and yes, the dylib is actual resident there?!?!
>
>make commands:
>mcs -r:System.Windows.Forms -rSystem.Drawing helloworld.cs
>macpack -m:1 -n:helloworld -o:. -a:helloworld.exe
>
>code:
>using System;
>using System.Windows.Forms;
>
>public class HelloWorld : Form
>{
>         public static void Main()
>         {
>                 Application.Run( new HelloWorld() );
>         }
>
>         public HelloWorld()
>         {
>                 this.Text        = "Hello, World!";
>                 this.AutoScaleBaseSize = new System.Drawing.Size( 5, 13
>);
>                 this.ClientSize  = new System.Drawing.Size( 300, 300 );
>
>                 _output          = new System.Windows.Forms.Label();
>                 _output.Location = new System.Drawing.Point( 16, 24 );
>                 _output.Text     = "Hello, World!";
>                 _output.Size     = new System.Drawing.Size( 216, 24 );
>
>                 _cancel          = new System.Windows.Forms.Button();
>                 _cancel.Location = new System.Drawing.Point( 150, 200 );
>                 _cancel.Text     = "&Close";
>                 _cancel.Size     = new System.Drawing.Size( 112, 32 );
>                 _cancel.Click   += new System.EventHandler(
>this.OnClick );
>         }
>
>         private void OnClick( object sender, System.EventArgs e )
>         {
>                 Application.Exit();
>         }
>
>         private System.Windows.Forms.Label  _output;
>         private System.Windows.Forms.Button _cancel;
>}