2017-07-04 59 views
-2

所以我有一些工作要做,使用拉撒路和我的程序之一是写在第二个单位,但也在第一个使用。 问题是,我想给连接到单元1的Form上的程序一个TImage,但单元2找不到标识符“TImage”。第二单元没有找到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; 
+1

Unit2需要使用你的TImage声明的单位。在Delphi中,使用的单位是ExtCtrls.Pas – MartynA

回答

1

解决方案在过程之前和界面中输入用途。

interface 

uses 
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ActnList, ExtCtrls, u_settings, u_grafik; 

procedure Bewegen(Spieler:TImage);