-2
so habe ich etwas Arbeit zu tun mit Lazarus und eines meiner Verfahren ist in einer zweiten Einheit geschrieben, sondern auch in der ersten verwendet. Das Problem ist, ich möchte die Prozedur eine TImage aus dem Formular an Einheit 1 verbunden geben, aber Einheit 2 kann eine Kennung "TImage" nicht finden.Zweite Einheit nicht finden TImage
interface
procedure Bewegen(Spieler:TImage);
..
procedure Bewegen(Spieler:TImage);
var Lefti,Topi:integer;
function wurf(AnzahlWurfel:integer):integer;
begin
randomize;
case AnzahlWurfel of 1 : result:=1+Random(6); //AZ von 1 bis 6 oder 12. Je nach Anzahl der Würfel.
2 : result:=1+Random(12);
end;
end;
procedure gehen(Wurf:integer;out Left, Top:integer);
var i:integer;
begin
for i:=1 to Wurf do if (Left<908) AND (Top=56) then Left:=Left+90//oben links nach oben rechts
else if (Left=908) AND (Top<956) then Top :=Top+90 //oben rechts nach unten rechts
else if (Left>8) AND (Top=956) then Left:=Left-90//unten rechts nach unten links
else if (Left=8) AND (Top>56) then Top :=Top-90;//unten links nach oben links
end;
begin
FMono.Edit1.Text:=IntToStr(wurf(AnzahlWurfel));
Lefti:=Spieler.Left;
Topi:=Spieler.Top;
gehen(wurf(AnzahlWurfel),Lefti,Topi);
Spieler.Left:=Lefti;
Spieler.Top:=Topi;
end;
Einheit2 muss VERWENDEN, in welcher Einheit Ihr TImage deklariert ist. In Delphi wäre die zu verwendende Einheit ExtCtrls.Pas – MartynA