![]() |
Problem mit ShowMessage
Hallo,
wenn ich in den folgenden code irgenwo eine ShowMessage einbaue dann gehs, wenn ich es wieder rauß nehme gehts nicht mehr, warum ?
Code:
was ist daran falsch ???
z:=IndexOF('Map {')+1;
for i:=z to Count-2 do begin for x:=1 to MapX+1 do begin str:=strings[i]; if str[x] = 'R' then begin Randomize; Steine[x-1,i-z ].Tex:=random(3); end else begin if str[x] = 'K' then Steine[x-1,i-z ].Tex:=None else Steine[x-1,i-z ].Tex:=StrToInt(str[x]) end; end; end; |
Re: Problem mit ShowMessage
Spontan würd ich sagen dein Code läuft zu "schnell" ab und das ShowMessage verzögert das ganze. Hast du nen Timer irgendwo eingebaut??
|
Re: Problem mit ShowMessage
Hi,
du solltest Randomize; nur einmal im ganzen Programm aufrufen. Am besten im FormCreate(), wenn du mit der VCL arbeitest. mfG mirage228 |
Re: Problem mit ShowMessage
das der den code zu schnell abarbeitet habe ich auch schon gedacht, aber das glaube ich nicht:
mapX:=41 er bekommt den wert str[x] nicht immer und das ist das seltsamme.... if str[x] = 'R' then begin |
Re: Problem mit ShowMessage
also ich würde das randomize auf jeden fall mal rausnehmen und dann noch mal probieren. desweiteren könntest du ja auch mal debugen um den fehler zu finden
|
Re: Problem mit ShowMessage
Ich vermute, wenn er den Debugger bemüht, stimmt alles ;-)
Ich denke, der Fehler steckt irgendwo anders. Habe auch schon mal ein ähnliches Problem gehabt, nur weiß ich nicht mehr, wie ich es gelöst habe. Es könnte sein, dass ich irgendwie ein Sleep o.ä. eingebaut habe. Ich vermute, dass das nämlich ein Bug von Delphi ist, da das Problem mit einer anderen Delphi-Version oder auch schon in einem neuene Projekt bei mir nicht mehr auftrat. |
Re: Problem mit ShowMessage
Vielleicht würde es auch etwas bringen anzuzeigen wo das ShowMessage war und was genau nicht funktioniert hat. (Fehlermeldung, Zeile, etc...)
|
Re: Problem mit ShowMessage
wo ich die ShowMessage einbaue ist vollkommen egal, das ist ja das seltsamme
und eine fehlermeldung kommt auch nicht, er macht das nur nicht was er machen sollte z.b. bei diesem 'K' da soll er einfach ein fehld auf none(also deaktivieren) das macht er nur wenn ich eine ShowMessage einbaue. |
Re: Problem mit ShowMessage
vielleicht schreibst du ja mit Steine[x-1,i-z ] außerhalb des Feldes und durch das Showmessage wird der speicher so verändert das alles an die "richtige" Stelle steht und das gewünschte ergebnis liefert. Ich hab mich letztens auch gewundert das nach dem ich eine komponente aufs form gepackt hab mein Label ne komiche Caption hatte. Grund war das ich in der Komponente über den maximalen Index geschrieben hab.
|
Re: Problem mit ShowMessage
Moin Michael,
auch wenn ich jetzt der dritte bin, der das sagt: Nimm mal das ![]() Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:10 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz