Entwickler-Ecke
Sonstiges (Delphi) - Microsoft Windows hat ein Problem fest gestellt und muss...
sprite-andre - Mo 21.08.06 18:33
Titel: Microsoft Windows hat ein Problem fest gestellt und muss...
Hallo!
Ich habe ein RIEßEN Probleme mit einem Code!
Hier erstmal der Code:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| procedure TCONSOLE.ComboBox1KeyPress(Sender: TObject; var Key: Char); begin if (Key in [Char(13)]) then begin if (ComboBox1.Text = '') OR (ComboBox1.Text = 'quit') then begin ShowMessage('Sie können diesen befehl nicht senden.'); ComboBox1.Text := 'help'; end; if CheckBox2.Checked then Button4Click(nil) else end; end; |
So.
Wenn ich mein Programm nun starte und in der ComboBox Enter drücke,
startet mein PC ohne Fehler etc einfach neu, und nach dem hoch fahren kommt ein Dialog worauf steht:
Microsoft Windows hat ein Problem fest gestellt und musste beendet werden.
Was war das jetzt?
MfG: sprite
Moderiert von
AXMD: Delphi-Tags hinzugefügt
GTA-Place - Mo 21.08.06 18:40
Bist du sicher, dass dieser Teil den Fehler auslöst? Wie sieht es mit Button4Click aus?
sprite-andre - Di 22.08.06 05:09
Ja ich bin sicher...
Ich hab das Programm vorher getestet, dann ist mir das eingefallen,
habs hinzugefügt und dann ist das passiert!
MfG: sprite
Martin1966 - Di 22.08.06 09:00
Guten Morgen :wink2:
Versuch das ganze mal zu debuggen um festzustellen welche Stelle genau das Problem verursacht.
Lg Martin
oldmax - Di 22.08.06 09:23
Hi
Also,ich würd erstmal das "Else" weglassen. Nur so 'ne Vermutung, aber normalerweise tut das da nix....
gruß oldmax
Jakob Schöttl - Di 22.08.06 10:03
Beseitige erst mal alles zweifelhafte:
1) Warum wandelst du Key: char mit der Funktion char in einen Character um? Schreib einfach: if Key = #13 then
2) wie oldmax schon gesagt hat, das Else weg
Eigentlich kanns ja an den sachen nicht liegen glaub ich, aber so ist es auch übersichtlicher. Probierst mal!
Killmag10 - Di 22.08.06 10:59
Hi
hab da ne ganz dumme vermutung also wenn das prog nach dem was bokaj gesagt hatt immer noch nicht geht probier mal das ganze auf Windows XP Prof ich hatte auch schonmal probs das programme von mir auf home probleme gemacht haben die aber auf Prof 1a liefen.
is blos so ne vermutung aber probiers mal aus
ansonsten kann ich im code eigendlich auch keine fehler finden zumal dann im normalfall eigendlich dein Prog ne Fehlermeldung ausspucken solte.
mfg. Killmag10
oldmax - Di 22.08.06 11:32
Hi
Also, ich bin mir immer noch nicht so richtig im klaren, was Button4click mit dem Sender "nichts" ist. Lass es mal weg und prüfe, ob's dann immer noch ein Problem gibt. Denn wenn ich schon nicht schlau draus werde, wie soll dann erst eine elektrische Kiste was damit anfangen können ? :? :wink:
Regan - Di 22.08.06 11:37
allerdings. ich denke auch, dass es am "nil" liegt. setze dafür lieber "self" ein.
Jakob Schöttl - Di 22.08.06 12:01
es kommt natürlich drauf an, was in der Procedure steht, aber nkormalerweise fürht das höchstens zu einer Exception, zugriffsverletzung. interessant wäre trotzdem der Inhalt von der procedure, die könntest du ja mal herzeigen.
Killmag10 - Di 22.08.06 12:05
Regan hat folgendes geschrieben: |
allerdings. ich denke auch, dass es am "nil" liegt. setze dafür lieber "self" ein. |
da könnte aber es höstens probs geben wenn er selber den sender dann verwenden will und ihn vorher nicht überprüfen würde aber ich denke nicht das er das gemacht hatt.
weil sonst wird er sowiso nicht benutzt
Regan - Di 22.08.06 12:35
Titel: Re: Microsoft Windows hat ein Problem fest gestellt und muss
Killmag10 hat folgendes geschrieben: |
Regan hat folgendes geschrieben: | allerdings. ich denke auch, dass es am "nil" liegt. setze dafür lieber "self" ein. |
da könnte aber es höstens probs geben wenn er selber den sender dann verwenden will und ihn vorher nicht überprüfen würde aber ich denke nicht das er das gemacht hatt.
weil sonst wird er sowiso nicht benutzt |
deswegen mein vorschlag:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| procedure TCONSOLE.ComboBox1KeyPress(Sender: TObject; var Key: Char); begin if key = #13 then begin if (ComboBox1.Text = '') OR (ComboBox1.Text = 'quit') then begin ShowMessage('Sie können diesen befehl nicht senden.'); ComboBox1.Text := 'help'; end; if CheckBox2.Checked then Button4.click; end; end; |
sprite-andre - Di 22.08.06 22:33
Hallo!
1.) Zimlich gute vorschläge die ihr macht!!
2.) Leider hab ich kein Windows XP Professional
3.) Jetzt funktioniert es!
Danke für eure Hilfe!!
MfG: sprite
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!