Thema: Delphi Problem mit For-Schliefe

Einzelnen Beitrag anzeigen

Kopnop

Registriert seit: 20. Mai 2012
2 Beiträge
 
#4

AW: Problem mit For-Schliefe

  Alt 20. Mai 2012, 23:53
Du musst die Hindernis-Objekte in einen Array packen, dann funktioniert dein Code (bessere Lösung) oder du arbeitest mit .FindComponent()_

Delphi-Quellcode:
var
  Hindernis: THindernis;
...
    Hindernis := FindComponent( 'Hindernis'+IntToStr(i));
    Hindernis.initiate(clblue, random(image1.width - 20) + 10,random(image1.height- 20) + 10, random(40) + 81);
  until ((sqrt(sqr(abs(maus.x - hindernis.hx)) + sqr(abs(maus.y - hindernis.hy)))> (maus.r + hindernis.hr) + 8));
  hindernis.show;
...
end;
Danke schonmal, ich hab den Quelltext so geändert, wie du meintest. Jetzt meckert er aber in der Zeile
      hindernis := FindComponent('Hindernis'+inttostr(i));
, dass mein selbsterstellter Typ THindernis mit dem Typ TComponent inkompatibel sei, womit er ja auch durchaus recht hat.

Mein Typ sieht so aus:
Delphi-Quellcode:
type
  thindernis = class hx, hy, hr: single;
    hfarbe: tcolor;
    procedure initiate(fhneu: tcolor; xhneu, yhneu, rhneu: single);
    procedure show;
  end;
ist global definiert und wird in der initialization aufgerufen:
Delphi-Quellcode:
var
Hindernis, Hindernis1, Hindernis2, Hindernis3: tHindernis; // 'Hindernis' hab ich dazu geschrieben, war vorher nich drin
...
initialization
  Hindernis1 := thindernis.create;
  Hindernis2 := thindernis.create;
  Hindernis3 := thindernis.create;
  Mit Zitat antworten Zitat