Announcement

Collapse
No announcement yet.

Zurück von Application.Run zum Aufrufsstelle

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Zurück von Application.Run zum Aufrufsstelle

    Hallo,

    Ich habe ne Frage:
    Wie kann mein Programm weiter laufen wenn ich zuvor Application.Run aufgerufen habe.
    ein kleines Beispiel:
    Code:
    public class ProgramTEST
    {
         public ProgramTEST()
         {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new MyApplicationContext(new string[] {})); // -->Hier bleibt es stehen
         }
    
         public ControlTester buttonTester;
    
         public void Test()
         {
            buttonTester = new ControlTester("_okButton", "myForm");
    
            buttonTester.FireEvent("Click");
         }
    }
    Ich kann auch so was nicht benutzen: (es darf nicht instanziert werden, wegen andere Sachen, wie unter anderen Backgroundworker)

    Code:
    MyMainForm myForm = new MyMainForm();
    myForm.ShowDialog();
    ich habe sowas probiert, aber man kann es nicht debugen und es funktioniert nicht ganz gut, aber das ist mein Ziel:

    Code:
    public ProgramTEST()
    {
        ApplicationTestStart _applicationTestStart = new ApplicationTestStart();
        ThreadStart ts = new ThreadStart(_applicationTestStart.Run);
        Thread t1 = new Thread(ts);
        t1.Start();
    }
    und:
    Code:
    public class ApplicationTestStart
    {
        public ApplicationTestStart()
        {
        }
    
        public void Run()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(fals e);
            Application.Run(new MyApplicationContext(new string[] {}));
        }
    }

  • #2
    Bitte hier nicht mehr antworten: unter mycsharp.de ist die Diskussion schon recht lang geworden. Jürgen

    Comment


    • #3
      Wie kann mein Programm weiter laufen wenn ich zuvor Application.Run aufgerufen habe.
      Häh? Du hast durch Application.Run eine MessageLoop für den aktuellen Thread gestartet und somit wartet diese nun auf Events um diese abzuarbeiten. Dein Programm läuft also bestens. Run beendet sich erst wenn die Messageschleife beendet wird. Also wenn z.B. ein WM_Quit empfangen wurde. Wenn dein ApplicationContext eine Form hat dann entspräche das dem schließen der Form.

      Vielleicht erklärst du nochmal kurz was du wirklich vorhast alles nach deiner ersten Frage hab ich nicht mehr verstanden.

      Comment


      • #4
        Danke Jürgen für den Hinweis.

        Könnte man nicht mal irgendwelche Strafen für Crosspostings ohne Hinweis auf selbiges einführen? Wael20 ab in die Ecke und schämen

        Comment


        • #5
          Sorry bin neu dabei, dachte das alle Foren miteinander nichts zu tun haben... und war wichtig

          Comment


          • #6
            Originally posted by Ralf Jansen View Post
            Danke Jürgen für den Hinweis.

            Könnte man nicht mal irgendwelche Strafen für Crosspostings ohne Hinweis auf selbiges einführen? Wael20 ab in die Ecke und schämen
            Ich wäre eher für Strafen für "oberlehrermäßiges" Verhalten: Ich finde an den sog. Crosspostings nichts schlimmes - z. B. habe ich das "mycsharp-Forum" (oder wie es immer auch heißen mag) (noch) nicht für mich entdeckt. Demzufolge weiß ich auch nicht, wer dort was postet. Und ich bin mir sicher, ich bin nicht der einzige, der nicht in allen Foren unterwegs ist.
            Also, lasst doch bitte eine Diskussion einfach laufen - besser als zwischen den einzelnen sachbezogenen Posts irgendein "Gequengel" über das vermeintliche Fehlverhalten des Users lesen zu müssen...

            Comment


            • #7
              Demzufolge weiß ich auch nicht, wer dort was postet. Und ich bin mir sicher, ich bin nicht der einzige, der nicht in allen Foren unterwegs ist.
              Ich auch nicht. Und das ist genau der Punkt. Vielleicht ist ihm schon bei seinem Problem woanders geholfen worden und ich oder andere die versuchen hier zu helfen investieren unnötig ihre Zeit.

              Heißt ich habe nichts gegen Crossposting man soll nur die entsprechenden Threads in den verschiedenen Foren verlinken damit man sich als jemand der gerne helfen möchte ein komplettes Bild machen kann ob man noch etwas zur Lösung beitragen kann oder eben nicht. Hätte ich von dem anderen Thread gewußt so hätte ich mir meine Antwort hier sparen können da dort die Diskussion schon viel weiter war.

              Comment

              Working...
              X