Mit den Forms (Fenstern) von mit Visual C++ (2008) erstellten Programmen habe ich das Problem, das wenn sie bewegt werden, z. B. von links nach rechts gezogen werden, die Threads der Forms angealten (eingefroren) werden; d. h. nicht nur die Anzeigen frieren ein sondern auch die Threads der Formen! Das ist ein Bug, denn auch bei älteren und mit Delphi erstellten Programm gibt es das Problem nicht. Ich finde das Problem auch sonst nicht bei anderen Programmen; beispielsweise das aktuelle TV-Programm von xawtv angezeigt und Youtube-Videos über Firefox angezeigt laufen problemlos und ruckelfrei weiter wenn ich die Fenster bewege. Deshalb meine Frage: Kann man, und wenn ja wie, diesen Bug bei Visual C++ (2008) abstellen? Und falls nicht: Wo (mit welchen IDEs) gibt es den Bug nicht oder zumindest in abstellbarer Form?
keien Ahnung was du machst, im normalfall hat man nur ein Mainthread und da passiert das nicht. Die Frage ist also was machst du in dem Mainthread, läuft dort igendetwas?
> Das ist ein Bug, denn auch bei älteren und mit Delphi erstellten > Programm gibt es das Problem nicht. Ich bezweifle, dass die Delphi-Programme auf .NET basieren -> Visual C++ (2008) ist doch .NET, oder? Daher würd ich mal schauen, ob du nicht während dem Bewegen neu zeichnen lassen musst o.ä. Ralf
Ralf schrieb: > Daher würd ich mal schauen, ob du nicht während dem Bewegen neu zeichnen > lassen musst o.ä. das macht der MainThread von alleine, wenn man ihn nicht blockiert.
Ralf schrieb: > Ich bezweifle, dass die Delphi-Programme auf .NET basieren -> Visual C++ > (2008) ist doch .NET, oder? Normalerweise ist das MFC hat aber mit Delphi genau so wenig zu tun! http://www.e-strube.net/web/praxissoftware/diplom/kapit3.htm
Sebastian-L schrieb: > Normalerweise ist das MFC hat aber mit Delphi genau so wenig zu tun! nein, er schreibt etwas von "Forms" und das in Kombination mit Visual C++ (2008) meint zu 99% C++/CLI also .net.
Erwin Meyer schrieb: > Und falls nicht: Wo (mit welchen IDEs) gibt es den Bug nicht oder > zumindest in abstellbarer Form? Was soll das bitte mit der IDE zu tun haben? Das scheint wenn überhaupt ein Problem zwischen dem von dir verwendeten Fensterframework und deinem Betriebssystem zu sein. Zu beidem schweigst du dich aber aus. Wie sollen wir dir da helfen?
Also hier sind die Daten: IDE: Microsoft Visual C++ 2008 Targeted Framework: .NET Framework 2.0 Platform: Win32 Projekt: Visual C++ CLR, Windows Forms Application OS: WindowsXP
Peter II schrieb: > Sebastian-L schrieb: >> Normalerweise ist das MFC hat aber mit Delphi genau so wenig zu tun! > > nein, er schreibt etwas von "Forms" und das in Kombination mit Visual > C++ (2008) meint zu 99% C++/CLI also .net. Also wenn er "Forms" in Visual c++ sagt dann meine ich http://www.functionx.com/visualc/Lesson08.htm auch wenn man in MFC eher Dialoge dazu sagt Ansonsten sind das Win. Forms wenn ich .Net haben will Aber meine Meinung dazu ist: entweder .Net mit c# oder VB oder c++ mit MFC alles dazwischen macht nur ärger
Erwin Meyer schrieb: > Mit den Forms (Fenstern) von mit Visual C++ (2008) erstellten Programmen > habe ich das Problem, das wenn sie bewegt werden, z. B. von links nach > rechts gezogen werden, die Threads der Forms angealten (eingefroren) > werden; d. h. nicht nur die Anzeigen frieren ein sondern auch die > Threads der Formen! Forms. Bist Du sicher dass die überhaupt jeweils einen eigenen Thread haben? Hmm, Forms (jedweder Form, sorry ;-), widerliches Zeug. Würde ich nicht mit der Kohlenzange... > Das ist ein Bug, denn auch bei älteren und mit Delphi erstellten > Programm gibt es das Problem nicht. Da täuschst Du Dich sehr wahrscheinlich, also dass das ein Bug ist. > Ich finde das Problem auch sonst nicht bei anderen Programmen; > beispielsweise das aktuelle TV-Programm von xawtv angezeigt und > Youtube-Videos über Firefox angezeigt laufen problemlos und ruckelfrei > weiter wenn ich die Fenster bewege. <grins mode="evil">Uuhhh, wusstest Du nicht dass Linux in jeder Hinsicht besser als Windoof ist?</grins> > Deshalb meine Frage: Kann man, und wenn ja wie, diesen Bug bei Visual > C++ (2008) abstellen? Das ist ziemlich sicher kein Bug sondern im Programmiermodell so angelegt. Doku lesen und so programmieren dass das nicht auftritt. Wobei mir unklar ist wieso das signifikant ist, wie lange zerren denn die Luser die Fenster in der Gegend herum?
Jasch schrieb: > Forms. Bist Du sicher dass die überhaupt jeweils einen eigenen Thread > haben? In sofern als eine Form Anwendung wie eine normale Anwendung natürlich in einem Prozess mit einem Thread abläuft. Wenn du also im Hintergrund Berechnungen anstellst die länger dauern und deshalb in einem Eigenen Thread laufen(sollten) damit die Oberfläche nicht einfriert. sollte das umgekehrt auch nicht passieren. Erwin Meyer schrieb: > d. h. nicht nur die Anzeigen frieren ein sondern auch die > Threads der Formen! sollte bei sauberer Programmierung nicht passieren. (wobei ich die Ausdrucksweise etwas unverständlich finde) Also her mit dem Code! in sofern Hast du recht Jasch, aber lass das Windows gebashe.
Sebastian-L schrieb: > Jasch schrieb: >> Forms. Bist Du sicher dass die überhaupt jeweils einen eigenen Thread >> haben? > > In sofern als eine Form Anwendung wie eine normale Anwendung natürlich > in einem Prozess mit einem Thread abläuft. Einer wird da wohl kaum reichen... > Wenn du also im Hintergrund Berechnungen anstellst die länger dauern und > deshalb in einem Eigenen Thread laufen(sollten) damit die Oberfläche > nicht einfriert. sollte das umgekehrt auch nicht passieren. Wenn Du das explizit so programmiert hast - cf. Programmiermodell (das ist nicht trivial). Was mein Punkt war.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.