-2
私はいくつかの作業をlazarusで行い、私の手続きの1つは2番目のユニットで書かれていますが、最初にも使用されています。 問題は、ユニット1に接続されたフォームからTImageにプロシージャを渡したいが、ユニット2は識別子 "TImage"を見つけることができないということです。2番目のユニットは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;
ユニット2は、TImageが宣言されているユニットを使用する必要があります。使用するユニットは、ExtCtrls.Pas – MartynA