Laden...

.NET Framework spinnt

Erstellt von iberendes vor 18 Jahren Letzter Beitrag vor 18 Jahren 2.612 Views
I
iberendes Themenstarter:in
50 Beiträge seit 2004
vor 18 Jahren
.NET Framework spinnt

Ich programmier in C# in WinXP.
Da laufen meine Programme einwandfrei.
Auf meinem Laptop mit WinXP auch.

Mein Programm soll aber auf Rechnern mit Win2000 laufen.
Nur auf denen funktioniert fast gar nichts und die sind im Durchschnitt ein halbes Jahr alt, also noch fast nagelneu.
Das ganze Programm wirkt darauf instabil.
Es geschehen die merkwürdigsten Farbändernungen von Labelfeldern, ..., wenn ich einen Button betätige, der eigentlich nur andere Buttons Enabled = true setzen soll.
Unter WinXP funktioniert das hingegen so, wie es soll.
Auch Befehle werden nicht komplett abgearbeitet unter Win2000.
Das System ist auf allen Rechnern ganz neu aufgesetzt mit .NET Framework 1.1.
Das habe ich jetzt mal zum Testen runtergeschmissen und das 2.0 beta 2 installiert.
Damit ist es zwar ein wenig stabiler geworden, aber funktionieren tut immer noch nichts.
Auch die Startzeiten sind bei dem 1.1 unter Win2000 ziemlich lange, bei dem 2.0 aber noch länger.
Woran kann das liegen?

3.728 Beiträge seit 2005
vor 18 Jahren
Eventlog

Vielleicht der Grafiktreiber? Es könnte auch andere Software sein. Manchmal trifft man auf exotische Sachen.

Ich würde mir das System- und Anwendungs-Ereignisprotokoll ansehen (eventvwr.exe starten). Wenn Windows Kummer hat, steht dort bestimmt ein Hinweis darauf drin. Normalerweise sollten dort nur blaue Einträge (ab und zu ein paar gelbe sind auch noch ok) stehen. Rote Einträge sind Fehler. Jeder Eintrag hat eine Ereignis-Nr (event id). Die kannst Du auf der Seite www.eventid.net analysieren lassen (Oft sagt einem der Standardfehlertext nicht viel).

Wir haben in der Firma auch einige Windows 2000 Rechner und Server. Dort laufen alle .NET 1.1 ohne Probleme. Irgendwas ist auf Deinen Windows 2000 PCs faul.

I
iberendes Themenstarter:in
50 Beiträge seit 2004
vor 18 Jahren

Danke für den Tipp, werde das sofort mal ausprobieren, wenn ich wieder Gelegenheit dazu habe.
Die Hardwarezusammensätzungen sind alle unterschiedlich.
Darum auch die Treiber, kann also daran wahrscheinlich nicht liegen.

Nur die Software ist auf den Clients gleich installiert,
auf dem Server ist die aber auch ganz anders.
Aber auch da funktioniert das nicht.

I
iberendes Themenstarter:in
50 Beiträge seit 2004
vor 18 Jahren

Ich habe mir gerade mal die Einträge in dem Protokoll angesehen.
Da ist fast alles ok, nur ein paar Sachen gelb, und die haben auch nichts mit .NET zu tun.

Ich habe auch bemerkt, dass mein Programm im Windows TaskManager nicht mehr die Endung .exe sondern nur noch .e hatte, obwohl der Dateiname aber auf .exe endet.

Ich habe jetzt auch rausgefunden, dass das Programm sich nicht mehr aufhängt oder zumindest später, wenn ich Teile aus der Methode rausnehme, in der er sich aufhängt.
Weil das aber immer nur Wiederholungen waren, die auf andere Objekte immer angewand waren, kann ich immer noch nicht sagen, woran das jetzt nun wirklich liegt.
Immer, wenn ich kurzzeitig was verändere, gehts, kurze Zeit später aber schon wieder nicht mehr oder er hängt sich wieder auf.

Hier bei mir zu Hause auf WinXP habe ich es auf mehreren Rechnern probiert und es läuft da ohne Probleme.

Was kann man da jetzt noch machen?

4.221 Beiträge seit 2005
vor 18 Jahren

Wie ich sehe verwendest Du Borland C# Builder.... wenn dem nicht so wäre hätte ich mal gefragt ob Du ngen verwendest.....

Mal ne andere Frage... wäre es möglich auf einem dieser 2000er Rechner die Entwicklungsumgebung zu installieren.... dann einen Build zu erstellen und diesen dann auf den 2000er Rechnern mal laufen zu lassen ?

Worauf will ich hinaus.... könnte ja sein, dass der Compiler was zusammenschraubt unter XP welches für XP optimiert ist und daher unter 2000 nicht richtig läuft.....

Früher war ich unentschlossen, heute bin ich mir da nicht mehr so sicher...

I
iberendes Themenstarter:in
50 Beiträge seit 2004
vor 18 Jahren

Die Idee hatte ich auch schon,
habe also den C#Builder von Borland Delphi 2005 draufgezogen, damit kompiliert und gestartet.
Klappt aber immer noch nicht.

Würde das denn was bringen, wenn ich das ganze unter Visual Studio. NET 2003 versuche?

F
10.010 Beiträge seit 2004
vor 18 Jahren

Kommt drauf an.

Das was Du da rausgenommen hast, was war das?
Scheint ja was damit zu tun zu haben 😉

1.549 Beiträge seit 2004
vor 18 Jahren

Könnte es sein das du resurcen die duz nutzt nicht wieder freigibst oder das ein anderes Programm versucht darauf zuzugreifen

Wir Arbeiten eigendlich nicht wir nehmen nur das geld

I
iberendes Themenstarter:in
50 Beiträge seit 2004
vor 18 Jahren

Das, was ich rausgenommen habe, war folgendendes:
Ich habe eine Instanz von WebClient erstellt, darauf zugegriffen, um eine WebSeite mit dem StreamReader auszulesen.
Dann das ganze in eine ListBox eingetragen.

Und das mehrmals mit mehreren Seiten (14 mal).
Mit "rausgenommen" meinte ich, dass ich nicht mehrere Seiten wie geplant ausgelesen lassen habe, sondern eben nur die ersten.
Für jedes Auslesen habe ich immer eine neue Instanz vom WebClient und StreamReader erstellt.
Das ganze steht in einer if-Abfrage und einem Try...Catch-Block.
Darum sollten die Ressourcen wieder freigegeben werden, wenn das durchlaufen worden ist.
Aber alles steht in einer Methode und wird über einen Timer gestartet.
Mir ist dabei aber grad aufgefallen, dass ja ein WebClient und ein StreamReader reichen würde.
So könnte man ja schon mal Ressourcen sparen.
Vielleicht ist das ja wichtiger unter Win2000 als unter WinXP, sodass unter Win2000 der Speicher nicht so schnell wieder freigegeben wird.

I
iberendes Themenstarter:in
50 Beiträge seit 2004
vor 18 Jahren

Ich habe meine Idee gerade mal ausprobiert,
hat aber leider nicht geklappt.

Woran kann das denn noch liegen?