Autor Beitrag
Nahameth
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Mi 10.03.10 15:52 
Hallo, bin neu hier und auch neu in C#. Sorry falls dies das falsche Forum ist. bin mir nicht sicher.

habe ein Programm mit einer "Form1" und einem Code "Program.cs" in dem das Main steht. Ich will die Form aufrufen und dann soll das Main aber weiter arbeiten. Mit
Application.Run(new Form1());

hält die Main aber dann an. Was mache ich falsch. In dem "Program.cs" läuft ein Thread der Bilder aus einem Framegrabber holt und in einem Window darstellt. Die Form soll unabhängig davon offen sein und einige Daten anzeigen bzw. das Window steuern.
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Mi 10.03.10 16:16 
Das macht keinen Sinn. Application.Run startet die MessagePump und ist im Prinzip der Kern deiner Anwendung. Wenn du etwas während des Programmlaufs tun möchtest (und nicht initial oder abschließend) gehört es in die Abhängigkeit des Contextes mit dem du Application.Run aufrufst. Hier ist Form1 der Context also mußt du deinen Thread von Form1 aus oder einer Abhängigkeit von Form1 aus starten(und verwalten).
Nahameth Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Do 11.03.10 08:14 
user profile iconRalf Jansen hat folgendes geschrieben Zum zitierten Posting springen:
Das macht keinen Sinn. Application.Run startet die MessagePump und ist im Prinzip der Kern deiner Anwendung. Wenn du etwas während des Programmlaufs tun möchtest (und nicht initial oder abschließend) gehört es in die Abhängigkeit des Contextes mit dem du Application.Run aufrufst. Hier ist Form1 der Context also mußt du deinen Thread von Form1 aus oder einer Abhängigkeit von Form1 aus starten(und verwalten).


Danke Rolf.

Hab' jetzt 2 Threads gestartet. Einen für das Darstellungsfenster und einen für das Steuerfenster (Form1). Das hat auch funktioniert. Werde jetzt noch mal deinen Vorschlag probieren.
JasonDelife
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 81

Windows 7 Professional
C# (Visual Studio 2008 Professional), Java (NetBeans IDE 6.7)
BeitragVerfasst: Do 11.03.10 18:20 
Kann böse enden. Generell sollten ALLE Fenster und Controls in EINEM einzigen Thread laufen. Die anderen Threads sollten dann arbeiten verrichten und den GUI-Thread per BeginInvoke() benachrichtigen.

Grüße, JasonDelife.