Posted 20 years ago by Greg Shaffer - Boulder
Avatar
Hi,

I have an application that uses your products. I'm trying to get it to work on my Linux machine via <A HREF="http://www.go-mono.com." TARGET=_blank>www.go-mono.com.</A> The Go-Mono ilrun runtime environment requires the dlls to be release-compiled with the /incremental flag turned off. (see <A HREF="http://www.go-mono.com/faq.html" TARGET=_blank>http://www.go-mono.com/faq.html</A> question 62). According the ilrun error message at runtime, your dll fails one of those tests.

The error message:

Assembly 'ActiproSoftare.DockableWindow.dll' has the non-standard metadata heap #-.
Recompile it correctly (without the /incremental switch or in Release mode).

Since it is trivial to compile within those constraints, is it possible to get a release with those issues resolved? What are your thoughts on go-mono compatibility? Are you violating one of those constraints, or is go-mono feeding me garbage?

Note: On the Linux side, I'm just running my program as a non-gui console app, so I don't care that go-mono isn't 100% done with forms. I just need it to run and I can't remove the references to the GUI assemblies at this time.

Thanks,
Greg

Comments (4)

Posted 20 years ago by Actipro Software Support - Cleveland, OH, USA
Avatar
Greg,

Wizard is the only .NET product of ours that would be able to work with a non-Windows platform. TabStripPanel makes one Windows API call, DockableWindow makes some more (mostly GDI ones), and SyntaxEditor also has to call some for GDI and popup tracking.


Actipro Software Support

Posted 20 years ago by Greg Shaffer - Boulder
Avatar
Bummer.

That is OK though I will just have to remove those reference dependancies.

Is there any plan in the distant future to attempt to remove native calls?

Thanks,
Greg
Posted 20 years ago by Actipro Software Support - Cleveland, OH, USA
Avatar
We definitely would like to eliminate all native calls however some functionality that customers want would also have to be eliminated. Microsoft did not expose all Windows functionality in the .NET framework and some advanced features require things that can only be obtained in the API.

For instance, there's no way to hook system keypresses while dragging a tool window around. We have to monitor for an escape keypress so we know to cancel the drag. Similar things for popups in SyntaxEditor. Mouse clicks outside popups need to close the popups no matter where they are at. So a mouse hook has to be implemented however .NET doesn't support that without calling APIs.

From browsing the Longhorn class library, it appears like the .NET framework (at least starting with Longhorn) will start to support a lot of this extended functionality that we have to create API calls for.


Actipro Software Support

Posted 20 years ago by Ron
Avatar
I have been toying with running WinForms under Mono. As I understand things WineLib is currently used to support WinForms. This allows for .Net Assemblies to make successful Win32 API calls such as those you mention. I'm not sure what is required to make your assemblies function, but it certainly does seem doable with a little research. I mention this because I have need to support Linux, but also for your benefit as Mono is an emerging market for .Net technologies.

Regards

Ron
The latest build of this product (v2.0.0208) was released 19 years ago, which was after the last post in this thread.