Autor Beitrag
Tarry
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 213
Erhaltene Danke: 1



BeitragVerfasst: Fr 18.04.08 23:15 
Hi, ich hab nen kleines Prog geschrieben um Teams zu bestimmen, allerdings kommt beim Beenden immer so nen doofer Fehler :(
Ich hab das komplett Prog (mit Code) mal angehangen, habt ihr ne Idee woher der kommt ?

gruß
Tarry

EDIT: Screen vom Fehler hinzugefügt


Moderiert von user profile iconNarses: Topic aus Sonstiges (Delphi) verschoben am Sa 19.04.2008 um 01:36
Einloggen, um Attachments anzusehen!
_________________
"Es gibt zwei Dinge, die unendlich sind. Das Universum und die menschliche Dummheit. Beim Universum bin ich mir noch nicht ganz sicher." -Albert Einstein


Zuletzt bearbeitet von Tarry am Fr 18.04.08 23:23, insgesamt 1-mal bearbeitet
Xentar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2077
Erhaltene Danke: 2

Win XP
Delphi 5 Ent., Delphi 2007 Prof
BeitragVerfasst: Fr 18.04.08 23:21 
Verrat uns bitte nicht, welcher Fehler kommt, oder in welcher Situation... Nein, lass es uns erst selber ausprobieren, wir haben ja alle genug Zeit.
Tarry Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 213
Erhaltene Danke: 1



BeitragVerfasst: Fr 18.04.08 23:23 
user profile iconXentar hat folgendes geschrieben:
Verrat uns bitte nicht, welcher Fehler kommt, oder in welcher Situation... Nein, lass es uns erst selber ausprobieren, wir haben ja alle genug Zeit.


Hab nen Screen angehängt.

_________________
"Es gibt zwei Dinge, die unendlich sind. Das Universum und die menschliche Dummheit. Beim Universum bin ich mir noch nicht ganz sicher." -Albert Einstein
Xentar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2077
Erhaltene Danke: 2

Win XP
Delphi 5 Ent., Delphi 2007 Prof
BeitragVerfasst: Fr 18.04.08 23:28 
Und was machst du, bevor der Fehler kommt? Auf welchen Button klickst du, wie oft?

Ich kann den Fehler hier nicht nachstellen..
Tarry Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 213
Erhaltene Danke: 1



BeitragVerfasst: Fr 18.04.08 23:32 
user profile iconXentar hat folgendes geschrieben:
Und was machst du, bevor der Fehler kommt? Auf welchen Button klickst du, wie oft?

Ich kann den Fehler hier nicht nachstellen..


Ich beende das Prog einfach über das X oben rechts, das ist alles...


EDIT: Nach nem kleinem Test in der Runde hier, siehts so aus, als würde der Fehle r nur bei XP auftreten.

_________________
"Es gibt zwei Dinge, die unendlich sind. Das Universum und die menschliche Dummheit. Beim Universum bin ich mir noch nicht ganz sicher." -Albert Einstein
Xentar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2077
Erhaltene Danke: 2

Win XP
Delphi 5 Ent., Delphi 2007 Prof
BeitragVerfasst: Fr 18.04.08 23:39 
user profile iconTarry hat folgendes geschrieben:
user profile iconXentar hat folgendes geschrieben:
Und was machst du, bevor der Fehler kommt? Auf welchen Button klickst du, wie oft?

Ich kann den Fehler hier nicht nachstellen..


Ich beende das Prog einfach über das X oben rechts, das ist alles...


Ohne auf einen button zu klicken, einfach Programm starten und wieder beenden? Das kann ich ja fast nicht glauben.
Beim Starten der Anwendung wird laut Quellcode nur ein Randomize aufgerufen. Wenn das schon Fehler verursacht, solltest du mal deinen Rechner überprüfen.

Konnte den Fehler nun aber nachstellen, wenn ich auf den mittleren Button klicke, und DANN das Programm beende.
Wenn ich das Programm selber kompiliere (Delphi 2007) tritt der Fehler allerdings nicht auf.
Probier mal: Projekt -> Projekt "<name>" erzeugen

Ansonsten versuch mal: Projekt -> Optionen -> Compiler: "Bereichsprüfung" und "Überlaufprüfung" anhaken. Versuchs dann nochmal.
Ich vermute, dass es irgendwelche Probleme mit dem dynamischen Array gibt.

Edit:
Eine mögliche Fehlerquelle hab ich grad:
ausblenden Delphi-Quelltext
1:
SetLength(Gezogene, lbSpieler.Count-1);					

Warum -1 ? Das brauchst du an dieser Stelle nicht - ganz im Gegenteil: Dadurch ist das Array um ein Feld zu klein und in der Zeile
ausblenden Delphi-Quelltext
1:
Gezogene[i] := TempI;					

danach überschreibst du dir dann den Speicher


Zuletzt bearbeitet von Xentar am Fr 18.04.08 23:47, insgesamt 1-mal bearbeitet
Tarry Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 213
Erhaltene Danke: 1



BeitragVerfasst: Fr 18.04.08 23:47 
user profile iconXentar hat folgendes geschrieben:
user profile iconTarry hat folgendes geschrieben:
user profile iconXentar hat folgendes geschrieben:
Und was machst du, bevor der Fehler kommt? Auf welchen Button klickst du, wie oft?

Ich kann den Fehler hier nicht nachstellen..


Ich beende das Prog einfach über das X oben rechts, das ist alles...


Ohne auf einen button zu klicken, einfach Programm starten und wieder beenden? Das kann ich ja fast nicht glauben.
Beim Starten der Anwendung wird laut Quellcode nur ein Randomize aufgerufen. Wenn das schon Fehler verursacht, solltest du mal deinen Rechner überprüfen.

Konnte den Fehler nun aber nachstellen, wenn ich auf den mittleren Button klicke, und DANN das Programm beende.
Wenn ich das Programm selber kompiliere (Delphi 2007) tritt der Fehler allerdings nicht auf.
Probier mal: Projekt -> Projekt "<name>" erzeugen

Ansonsten versuch mal: Projekt -> Optionen -> Compiler: "Bereichsprüfung" und "Überlaufprüfung" anhaken. Versuchs dann nochmal.
Ich vermute, dass es irgendwelche Probleme mit dem dynamischen Array gibt.



Richtig, der Fehler tritt nur dann auf.
Deine Tipps haben leider nichts gebracht, es ist mir ein Rätsel...
Kannst du mal bitte die, von dir erzeugte, exe online stellen ?

Tarry

_________________
"Es gibt zwei Dinge, die unendlich sind. Das Universum und die menschliche Dummheit. Beim Universum bin ich mir noch nicht ganz sicher." -Albert Einstein
Tarry Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 213
Erhaltene Danke: 1



BeitragVerfasst: Fr 18.04.08 23:48 
user profile iconXentar hat folgendes geschrieben:

Edit:
Eine mögliche Fehlerquelle hab ich grad:
ausblenden Delphi-Quelltext
1:
SetLength(Gezogene, lbSpieler.Count-1);					

Warum -1 ? Das brauchst du an dieser Stelle nicht - ganz im Gegenteil: Dadurch ist das Array um ein Feld zu klein und in der Zeile
ausblenden Delphi-Quelltext
1:
Gezogene[i] := TempI;					

danach überschreibst du dir dann den Speicher


DANKE, jetzt klappts !!!

_________________
"Es gibt zwei Dinge, die unendlich sind. Das Universum und die menschliche Dummheit. Beim Universum bin ich mir noch nicht ganz sicher." -Albert Einstein
Xentar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2077
Erhaltene Danke: 2

Win XP
Delphi 5 Ent., Delphi 2007 Prof
BeitragVerfasst: Fr 18.04.08 23:50 
Kein Thema ;)

Aber ein Tipp fürs nächste Mal: Gleich im ersten Post so viele Informationen wie möglich mitgeben ;)
Tarry Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 213
Erhaltene Danke: 1



BeitragVerfasst: Fr 18.04.08 23:54 
user profile iconXentar hat folgendes geschrieben:
Kein Thema ;)

Aber ein Tipp fürs nächste Mal: Gleich im ersten Post so viele Informationen wie möglich mitgeben ;)


Ja is eigentlich auch nicht meine Art ;) Aber ich sitzt grade auf ner Lan und da ist die Zeit bekanntlich knapp ;)

_________________
"Es gibt zwei Dinge, die unendlich sind. Das Universum und die menschliche Dummheit. Beim Universum bin ich mir noch nicht ganz sicher." -Albert Einstein