Reply to thread

Ok,


I also wrote it in C#. I guess that this is better.


[code]

using System;

using System.Collections;

using System.Threading;

using System.Windows.Forms;

using MediaPortal.GUI.Library;

using MediaPortal.Util;

using MediaPortal.Dialogs;


namespace MPProgressPlugin

{

    /// <summary>

    /// Zusammenfassung für Class1.

    /// </summary>

    public class ProgressPlugin: IPlugin, ISetupForm

    {

        public ProgressPlugin()

        {

            //

            // TODO: Fügen Sie hier die Konstruktorlogik hinzu

            //

        }



        public void Start()

        {

            ProgressDialog();

        }


        void ProgressDialog()

        {

            try

            {

                GUIDialogProgress dlgProgress = (GUIDialogProgress)GUIWindowManager.GetWindow((int)GUIWindow.Window.WINDOW_DIALOG_PROGRESS);

                if (dlgProgress != null)

                {

                    dlgProgress.SetHeading("DialogHeading");

                    dlgProgress.SetLine(1, "DialogLine1");

                    dlgProgress.SetLine(2, "DialogLine2");

                    dlgProgress.SetLine(3, "DialogLine3");

                    dlgProgress.StartModal(MediaPortal.GUI.Library.GUIWindowManager.ActiveWindow);

                    dlgProgress.SetPercentage(0);

                    dlgProgress.Progress();

                    dlgProgress.ShowProgressBar(true);

                }


            }

            catch(Exception e)

            {           

                MessageBox.Show(e.ToString(), "Error",

                    MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

                Log.Write(e.ToString());

            }



        }


        public void Stop()

        {   

        }


        #region ISetupForm Members


        public bool CanEnable()

        {

            return true;

        }


        public string PluginName()

        {

            return "Progress Dialog";

        }


        public bool HasSetup()

        {

            return true;

        }

        public bool DefaultEnabled()

        {

            return true;

        }


        public int GetWindowId()

        {

            return 23002;

        }


        public bool GetHome(out string strButtonText, out string strButtonImage, out string strButtonImageFocus, out string strPictureImage)

        {

            strButtonText = "Progress Dialog";

            strButtonImage = "";

            strButtonImageFocus = "";

            strPictureImage = "";

            return false;

        }


        public string Author()

        {

            return "STSC";

        }


        public string Description()

        {

            return "Progress Dialog";

        }


        public void ShowPlugin() // show the setup dialog

        {

        }       


        #endregion

    }

}

[/code]


But this line


[code]GUIDialogProgress dlgProgress = (GUIDialogProgress)GUIWindowManager.GetWindow((int)GUIWindow.Window.WINDOW_DIALOG_PROGRESS);

[/code]


still causes an System.InvalidCastException?


[USER=10277]frodo[/USER]: Do you know why it doesn't work?


Top Bottom