Posts


My-FyiReporting has been renamed to Majorsilence Reporting.

Majorsilence reporting started as My-FyiReporting which was a fork of fyiReporting after it died. It has been rebranded as Majorsilence Reporting to make it clearer that it is a separate forked project. Its purpose is to keep the project alive and useful.

The Github project name and code namespaces will remain the same.


I have recently pushed a new My-FyiReporting designer control to master.

It is a winform designer and includes examples of how to host in WPF.

Simple winform example

[STAThread]
static void Main()
{
	Application.EnableVisualStyles();
	Application.SetCompatibleTextRenderingDefault(false);
	Form frm = new Form();
	fyiReporting.RdlDesign.RdlUserControl ctl = new fyiReporting.RdlDesign.RdlUserControl();
	ctl.OpenFile(@"The path to the rdl file.rdl");
	ctl.Dock = DockStyle.Fill;
	frm.Controls.Add(ctl);

	Application.Run(frm);
}

For more details and wpf examples see https://github.com/majorsilence/My-FyiReporting/wiki/Designer-Control


I have updated my warsetup fork to include a new option to execute an executable once the installation is finished. What I would really like is the ability to setup custom actions through warsetup but this is the next best thing. At least for what I need to do.

It is available in the downloads section and in version 3.14.4 or above.


I have been working on porting the core of My-FyiReporting to Android. I am making good progress. I do not believe there is much at all that needs to be removed or changed in RdlEngine, DataProviders, or RdlCri. This is because instead of rewritting the drawing code I am using a compatibility layer to imitate System.Drawing.

Where the actual work comes in is writing a compatibility layer over androids drawing functions. To do this I have forked https://github.com/mattleibow/System.Drawing.Wrappers to https://github.com/majorsilence/System.Drawing.Wrappers and have started adding method stubs, enums, classes, etc… for the functionality that is missing. Once My-FyiReporting is able to compile I will start the work on implementing the System.Drawing function internals.

You can see the initial My-FyiReporting changes in the android branch.

Once this is all completed I will start work on winrt and monotouch.


I ran across a great .net project called Eto. It is basically “a cross platform desktop and mobile user interface framework” that is similar to xwt but more mature and supporting more platforms.

I have been testing the winforms and wpf back ends and they seem to work great. It also has a mac and iOS back end that appear to be fully functional. An android back end is planned for the future and I am currently investigating this.

It would be great if I can write the majority of my .net user interface code using one library and have it run on desktops and mobile. The only thing that would be lacking is windows rt support.

To start developing with Eto download the binaries from https://github.com/picoe/Eto/downloads. Add the reference to your project and start programming. See https://github.com/picoe/Eto/wiki/Preparing-your-solution for more details to setup your project.

Screen Shot:

VB.NET First App Example

Imports Eto.Forms
Imports Eto.Drawing

Class MyForm
    Inherits Form

    Public Sub New()
        Me.Title = "My Cross-Platform App"
        Me.Size = New Size(200, 200)

        Dim label = New Label()
        label.Text = "Hello World!"

        Me.AddDockedControl(label)
    End Sub

    <stathread> _
    Public Shared Sub Main()
        Dim app = New Application()
        AddHandler app.Initialized, Sub()
                                        app.MainForm = New MyForm()
                                        app.MainForm.Show()
                                    End Sub

        app.Run()
    End Sub

End Class

C# First Example App

using Eto.Forms;
using Eto.Drawing;

class MyForm : Form
{
	public MyForm()
	{
		this.Title = &quot;My Cross-Platform App&quot;;
		this.Size = new Size(200, 200);

		dynamic label = new Label();
		label.Text = &quot;Hello World!&quot;;

		this.AddDockedControl(label);
	}

	[STAThread()]
	public static void Main()
	{
		dynamic app = new Application();
		app.Initialized += delegate 
		{
			app.MainForm = new MyForm();
			app.MainForm.Show();
		};

		app.Run();
	}

}

https://github.com/picoe/Eto https://github.com/mono/xwt