2017-07-04 60 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);