[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;
>}