-2

所以我有一些使用 lazarus 的工作要做,我的一个程序是在第二个单元中编写的,但也在第一个单元中使用。问题是,我想从连接到单元 1 的表单中为程序提供一个 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;
4

1 回答 1

1

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

interface

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

procedure Bewegen(Spieler:TImage);
于 2017-07-05T08:43:59.677 回答