Einzelnen Beitrag anzeigen

Nathaniel

Registriert seit: 17. Jun 2012
11 Beiträge
 
#1

DrawGrid wird ständig neu geladen

  Alt 18. Nov 2012, 11:34
Delphi-Version: 5
Hallo,

ich habe folgendes Programm:

• Ein 10 x 10 DrawGrid mit bmp's gefüllt. => 100 Bilder
• Diese Bilder werden aus einem dynamischen Array geladen
• Das Array ist zweidimensional und bildet quasi das DrawGrid ab.

Quelltext:

Delphi-Quellcode:

procedure TFrm_Main.DrwGrdDrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
var
  i, j, process: Integer;
begin
  process:=0;
  writeln('--------------------');
  { Wenn das dynamische Array erstellt wurde, dann zeichne den Inhalt davon }
  if Length(PlayingField)>0 then
    for I := 0 to 9 do
      for j := 0 to 9 do
    begin
      DrawGraphicFromArray(PlayingField[i,j], DrwGrd, i, j);
      inc(process); {um den Ladevorgang zu beobachten}
      writeln('Draw Grid wird geladen...'+IntToStr(process));
    end;
end;
Nun sind mir zwei Sachen aufgefallen, welche ich nicht verstehe:

1) Über der Variable "process" habe ich rausgefunden, dass statt einmal von 1-100, mehrmals von 1-100 geht. Eigentlich sollten es doch insgesamt 100 Ladevorgänge sein, da ich ja 100 Zellen habe. Ich hätte erwartet das ich auf der Konsolenanwendung einmalig die Liste 1-100 stehen hätte.

2) Wieso wird bei der Verschiebung der Form während der Laufzeit, das DrawGrid nochmal gezeichnet? Das hat zur Folge, dass ich wieder ca. 10 Sekunden warten muss um das Programm weiter zu bedienen. Denn solange das DrawGrid gezeichnet wird, kann man es nicht bedienen. Das ist alles Zeit die ich gerne sparen würde.
  Mit Zitat antworten Zitat