Hello, You must return a subclass of Id, thus a NSString instead of String. Cast it to NSString (there is an implicit conversion).
Regards, Laurent Etiemble. 2008/11/26 Mario De Clippeleir <[EMAIL PROTECTED]>: > Hi, > > > > I am trying to bind a DataSource to a TableView, but when trying to get the > objectValueForTableColumn, I get an error : > > """" > > item added > > numberOfRows call > > reloaded > > get Object > > Stacktrace: > > at (wrapper managed-to-native) Monobjc.Dynamic.Messaging.OBJC_MSGSEND > [System_Void]().objc_msgSend (intptr,intptr) <0x00004> > > at (wrapper managed-to-native) Monobjc.Dynamic.Messaging.OBJC_MSGSEND > [System_Void]().objc_msgSend (intptr,intptr) <0xffffffff> > > at (wrapper runtime-invoke) Monobjc.Dynamic.Messaging.OBJC_MSGSEND > [System_Void]().runtime_invoke_void_intptr_intptr > (object,intptr,intptr,intptr) <0xffffffff> > > at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke > (object,object[],System.Exception&) <0x00004> > > at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke > (object,object[],System.Exception&) <0xffffffff> > > at System.Reflection.MonoMethod.Invoke > (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) > <0x000b5> > > at System.Reflection.MethodBase.Invoke (object,object[]) <0x00020> > > at Monobjc.Generation.MessagingGenerator.SendMessage > (string,intptr,intptr,object[]) <0x0010b> > > at Monobjc.ObjectiveCRuntime.SendMessage > (Monobjc.IManagedWrapper,string,object[]) <0x00070> > > at Monobjc.Cocoa.NSApplication.Run () <0x0002b> > > at Monobjc.Cocoa.NSApplication.RunApplication () <0x0004b> > > at TestCocoaGui.Program.Main (string[]) <0x00034> > > at (wrapper runtime-invoke) > TestCocoaGui.Program.runtime_invoke_void_string[] > (object,intptr,intptr,intptr) <0xffffffff> > > Abort trap > > """ > What causes this ? The object i am returning is a string... > Thx, > Mario > > > > > > From: Duane Wandless [mailto:[EMAIL PROTECTED] > Sent: vrijdag 21 november 2008 16:51 > To: users@lists.monobjc.net > Subject: Re: [EMAIL PROTECTED] Data binding > > > > Not knowing what you have accomplished already I will briefly describe what > I have done. When I find time I'll post something with pictures. My main > application is a Cocoa ObjC app that controls the GUI. When the app starts > the very first thing I do is load my C# EXE, note not a DLL. A bug/issue > exists that loading a DLL does not completely init the mono environment. > > Using Monobjc I export my C# classes to the Cocoa world. This is why the > mono executable must be properly initialized first, so that when the NIB > files are loaded by Cocoa it will find my registered mono classes. > > In the NIB file I add an NSObject and set the class to be the name of my C# > class, say MonoObject. Add some class outlets to the MonoObject in the NIB > file that point to array/tree controllers within that NIB file. The tree > controller's mode should be class and the class name most likely will be > NSMutableDictionary, though it can be a class defined in mono as well. You > can add keys to these controllers to make binding easier on the table > views. Speaking of the table views, you simply point them to the tree > controller and bind as usual. > > Back in your C# class you will have a NSTreeController variable that is > hooked up by monobjc to the tree controller in the NIB file. Whenver > appropriate you can, from within C#, clear the tree controller data, add > data, remove data etc. I call something like > treeController.addObject(<myobject>) where myobject is an instance of a C# > class. That class then must register the methods to expose the keys you > have setup in the tree controller. > > You most likely will need to send a reload data notification to the views > that use these tree controllers. So you should also set class outlets that > point to these views so that you can send them reload data messages. > PostNotification is a nice way to send messages to your mono class so that > it can load the data as needed. > > Another solution is to set your table view's/outline view's datasource to be > MonoObject. Just provide the datasource methods in your C# class. I have > not implemented this way but I think I'm leaning toward switching. > > Not a lot of detail here but hopefully it helps. > Duane > > On Fri, Nov 21, 2008 at 9:44 AM, Mario De Clippeleir <[EMAIL PROTECTED]> > wrote: > > Hi, > > > > I am trying monobjc to port an existing .NET application to the Mac. I would > like to use a DLL in which an object model resides. When loading a file, the > object model is being filled. This logic is all in the library. > > Now, my question is : if I want to use binding for the Mac gui, do I need > the "wrap" the object classes from the library into Managed object classes ? > What would be the best way to handle this ? > > > > On another note : In the latest monobjc distribution, I can't seem to get > the TwoManyControllers project working. "The document TwoManyControllers.exe > could not be opened. TwoManyControllers cannot open files in the EXE File > format." > > I mean, it loads up, but you can't do anything… > > Does anyone else has this problem ? > > > > Thanks, > > > > Mario > >