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

Reply via email to