Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Problem mit ShowMessage (https://www.delphipraxis.net/26809-problem-mit-showmessage.html)

mimi 29. Jul 2004 17:31


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:
    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;
was ist daran falsch ???

Nalincah 29. Jul 2004 17:34

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??

mirage228 29. Jul 2004 17:45

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

mimi 29. Jul 2004 19:48

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

SirThornberry 29. Jul 2004 20:03

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

Alexander 29. Jul 2004 20:37

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.

GuenterS 29. Jul 2004 20:52

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...)

mimi 29. Jul 2004 21:16

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.

SirThornberry 29. Jul 2004 21:33

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.

Christian Seehase 29. Jul 2004 21:42

Re: Problem mit ShowMessage
 
Moin Michael,

auch wenn ich jetzt der dritte bin, der das sagt:

Nimm mal das Hier im Forum suchenRandomize aus der Schleife.

Zitat:

Zitat von Delphi Hilfe zu Randomize
Kombinieren Sie in einer Schleife nicht den Aufruf von Randomize mit Aufrufen der Funktion Random.
Normalerweise wird Randomize vor den Aufrufen von Random nur einmal aufgerufen.



Alle Zeitangaben in WEZ +1. Es ist jetzt 04:10 Uhr.
Seite 1 von 2  1 2      

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