goosefx
goosefx

Reputation: 51

MonoTouch binding objc library problems (can't derive from bound objc class)

I currently try to create a monotouch binding library for Sparrow 1.3. Everything works fine so far except that I can't derive from a bound objc class like:

public class GameStage : SPStage {
    public GameStage() : base() { }
    public GameStage(float width, float height) : base(width, height) { }
}

SPStage is a class defined in libSparrow.a.

SPStage seems to be bound properly since the following code works in my example monotouch project:

private SPView sparrowView;
...     
RectangleF frame = UIScreen.MainScreen.Bounds;
SPStage stage = new SPStage(frame.Size.Width, frame.Size.Height);
stage.Color = 0x0000ff;
sparrowView.Stage = stage;

But if I try the same with GameStage:

GameStage game = new GameStage(frame.Size.Width, frame.Size.Height);
game.Color = 0x0000ff;
sparrowView.Stage = game;                       

The application crash with no error or stack trace. The expected result should be a blue screen.

To reproduce the error I have checked in my binding code and the example to git hub. You can clone it from here:

[email protected]:goosefx/sparrow-monotouch.git

I would be REALLY glad if someone could help me out. I am really stuck with this problem.

Thanks!

UPDATE:

I first saw a similar question after I wrote this question: Monotouch derived class from a native class

Removing /e from the mtouch argument list has solved my problem. To bad that MonoDevelop does not support suppressing the /e argument.

To bad that I am not allowed to answer my own question before 8 hours.

Upvotes: 1

Views: 194

Answers (1)

goosefx
goosefx

Reputation: 51

The problem i the /e switch MonoDevelop passes to btouch. This can't be disabled through the UI. Currently only a manuel compile helps. See more details here: https://bugzilla.xamarin.com/show_bug.cgi?id=3234

Upvotes: 1

Related Questions