Autor Beitrag
mr tobo
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 40



BeitragVerfasst: Fr 14.05.10 19:55 
Hallo C-Sharp-Gemeinde

Hier ein Problem der etwas kurioseren Art:
Ich hab vor kurzem mit dem Microsoft Visual Studio 2008 ein Fenster-Programm geschrieben. Egal ob ich es mit oder ohne Jitter durchführe, auf meinem PC ( Windows XP ) läuft es ohne Probleme.
Dann hab ich es auf einen USB-Stick verschoben und von da aus ausgeführt -> läuft
Jetzt hab ich das Programm an meinem Arbeits-PC und an den PCs von 2 weiteren Kollegen ( allesamt Windows XP ) vom Stick aus ausgeführt, aber es hat nirgends funktioniert. Zwar wurde das Fenster geöffnet und auch alle Steuerelemente waren richtig angeordnet ( bis auf einen Button, welcher komischerweise bei allen 3 etwas nach links gezogen wurde... ) aber als ich dann denn entscheidenden Start-Button drückte kam einfach keine Reaktion. Bei allen 3 anderen genau gleich. Bei 2en davon habe ich nachgeschaut, ist .Net 3.5 installiert wie auf meinem Rechner auch.
Leider habe ich die HD, auf welcher ich den Sourecode gespeichert hatte beim Kollegen liegen lassen aber sobald ich sie wieder zurück hab werd ich mal den Text aus dem button.click Eventhandler hier rein posten da es ja wohl da irgendwo spukt.

Hat wer jetzt schon eine Idee woran das liegen könnte?

Grüsse
Toubi

Moderiert von user profile iconNarses: Überflüssige Zeilenumbrüche/Leerzeilen entfernt.
danielf
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1012
Erhaltene Danke: 24

Windows XP
C#, Visual Studio
BeitragVerfasst: So 16.05.10 13:21 
Hallo,

ich verstehe dich richtig, dass du auf einen Knopf drückst und bei dir etwas passiert und bei anderen Rechner nichts passiert?

Die Version ist wirklich die selbe?

Denke auch, dass es dann am EventHandler liegt und bin schon gespannt, was du da drin machst :D

Gruß
mr tobo Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 40



BeitragVerfasst: Mi 19.05.10 06:37 
Jep, richtig verstanden ;)
ausblenden volle Höhe C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
                private void button1_Click(object sender, EventArgs e)
        {
            if (CB_Welt.SelectedIndex != -1)
            {
                Welt = CB_Welt.SelectedItem.ToString();
                if (Datacheck(Welt))
                {
                    Doerfer = prepare(File.ReadAllLines(Welt + "village.txt"));
                    Spieler = prepare(File.ReadAllLines(Welt + "player.txt"));
                    if (TB_Name.Text != "")
                    {
                        playername = TB_Name.Text;
                        if (TB_Pw.Text != "")
                        {
                            Password = TB_Pw.Text;
                            if (findPlayer(Welt))
                            {
                                auto = checkBox1.Checked;
                                P_Login.Enabled = false;
                                panel2.Visible = true;
                            }
                        }
                    }
                }
            }
        }



private bool Datacheck(string Welt)
        {
            if (File.Exists(Welt + "player.txt"))
            {
                if (File.GetCreationTimeUtc(Welt + "player.txt").Date == DateTime.UtcNow.Date &&
                    File.GetCreationTimeUtc(Welt + "player.txt").Hour == DateTime.UtcNow.Hour)
                    return true;
                else
                {
                    try
                    {
                        File.Delete(Welt + "player.txt");
                        File.Delete(Welt + "player.zip");
                        File.Delete(Welt + "village.txt");
                        File.Delete(Welt + "village.zip");
                    }
                    catch (Exception e)
                    {
                        MessageBox.Show(e.Message);
                    }
                }
            }
            DLF = new Downloadform(Welt);
            DLF.Show();
            DLF.Disposed += new EventHandler(DLF_Disposed);
            tabPage2.Controls.Add(DLF);
            P_Login.Enabled = false;
            return false;
        }


Irgendetwas das auffällt?
danielf
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1012
Erhaltene Danke: 24

Windows XP
C#, Visual Studio
BeitragVerfasst: Mi 19.05.10 08:00 
Da fällt mir sehr viel auf.

Wenn cb_Welt nichts markiert ist wird die Methode einfach beendet.

Wenn kein Name eingegeben wurde wird die Methode einfach beendet.

Wenn die Datei Welt + "player.txt" nicht existiert oder nicht von der aktuellen Stunde ist wird die Methode einfach beendet.

Wenn das Passwort leer ist wird die Methode einfach beendet.

Wenn kein Spieler gefunden wurde wird die Methode einfach beendet.


ALso da hast du genug Ansatzpunkt. Der erste wäre wohl mal ein Fehlerhandling einzubauen. Die Prüfst ja nicht umsonst ob ein Eingabe existiert. Also da musst du nochmal ran und das ordentlich machen.

Gruß
mr tobo Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 40



BeitragVerfasst: Mi 19.05.10 08:11 
user profile icondanielf hat folgendes geschrieben Zum zitierten Posting springen:
Da fällt mir sehr viel auf.

Wenn cb_Welt nichts markiert ist wird die Methode einfach beendet.

Wenn kein Name eingegeben wurde wird die Methode einfach beendet.

Wenn die Datei Welt + "player.txt" nicht existiert oder nicht von der aktuellen Stunde ist wird die Methode einfach beendet.

Wenn das Passwort leer ist wird die Methode einfach beendet.

Wenn kein Spieler gefunden wurde wird die Methode einfach beendet.


ALso da hast du genug Ansatzpunkt. Der erste wäre wohl mal ein Fehlerhandling einzubauen. Die Prüfst ja nicht umsonst ob ein Eingabe existiert. Also da musst du nochmal ran und das ordentlich machen.

Gruß


Danke für die schnelle Antwort.

Der obrige Code ist nur ein Ausschnitt aus dem ganzen Programm, weil wohl niemand 20 Seiten Text durchlesen mag.
Das heisst:
-> Wenn cb_Welt ohne Auswahl ist kommt keine Reaktion
-> Wenn kein Name eingegeben wurde erfolgt keine Aktion
-> Wenn kein Passwort eingegeben wurde erfolgt keine Aktion
-> In der Funktion "findPlayer" steht ein
ausblenden C#-Quelltext
1:
MessageBox.Show("Spieler nicht gefunden")					


Und wenn die Datei "player.txt" nicht existiert oder von der aktuellen Stunde ist, tritt die Zeile
ausblenden C#-Quelltext
1:
DLF = new Downloadform(Welt);					

in Kraft, wobei die Downloadform eine Funktion zum direkten Herunterladen der aktuellen "player.txt" vom Server beinhaltet.
danielf
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1012
Erhaltene Danke: 24

Windows XP
C#, Visual Studio
BeitragVerfasst: Mi 19.05.10 08:15 
Also wie gesagt, mir wäre kein Phänomen bekannt warum dein Button Event auf Einmal nicht mehr geworfen wird und deshalb liegt es an der Methode. Und bei diesen ganzen Abbruchbedingungen würde ich mich nicht wundern. Ich kann nur Wiederholen bau ein richtiges Fehlerhandling/logging ein und dann wirst du schlauer.
mr tobo Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 40



BeitragVerfasst: Mi 19.05.10 08:22 
Ok.
Ich werds mal angehn und hier berichten wenn ich den Fehler gefunden habe.

Noch was zur verschobenen Position des Buttons:
Der befindet sich leider direkt über den Textfeldern für Name und Passwort...
Jetzt hab ich aber herausgefunden dass gar nicht der Button verschoben wurde sondern das darunterliegende Tabcontrol.
An was könnte das liegen?
danielf
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1012
Erhaltene Danke: 24

Windows XP
C#, Visual Studio
BeitragVerfasst: Mi 19.05.10 08:26 
Ich könnte mir nur vorstellen, dass dein dein TabControl mit Anchor ausgerichtet ist und auf den anderen PC eine andere Auflösung ist und es deshalb zu Problemen kommt.
mr tobo Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 40



BeitragVerfasst: Mi 19.05.10 08:34 
Werd auch das bearbeiten wenn ich zu Hause bin.
Vielen Dank für deine Hilfestellung