Problem beim Einbinden einer Untit

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
foxtrot29
Beiträge: 6
Registriert: Do 22. Aug 2013, 16:47

Problem beim Einbinden einer Untit

Beitrag von foxtrot29 »

Hallo zusammen,

ich beschäftige mich gerade ein wenig mit der Grafik-Programmierung und bin gerade dabei, ein einfaches Spiel zu programmieren. Damit mein mein Quellcode übersichtlicher wird, möchte ich ihn auf mehrere Units aufteilen.
Mein Spiel besteht aus mehreren Levels, wobei es darum geht, mit einer Kugel ein Labyrinth zu durchlaufen.
Diese Labyrinthe bzw. Levels möchte ich in Units packen.

Mein Code fürs Level1:

Code: Alles auswählen

 
unit Level1;
 
{$mode objfpc}{$H+}
 
interface
 
uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls,
  StdCtrls, Menus;
 
procedure Level1_zeichnen (var H_A, V_A :integer);
 
implementation
 
procedure Level1_zeichnen (var H_A, V_A :integer);
           begin
 
          image1.canvas.brush.Color:=clgreen; //Farbe  einstellen
          image1.canvas.pen.color:=clgreen;
 
            //Grafik
        image1.canvas.rectangle(round(2/10*H_A),round(1/8*V_A),round(3/10*H_A),round(2/8*V_A));
        image1.canvas.rectangle(round(2/10*H_A),round(3/8*V_A),round(3/10*H_A),round(4/8*V_A));
        image1.canvas.rectangle(round(2/10*H_A),round(5/8*V_A),round(3/10*H_A),round(6/8*V_A));
 
...
             end;
 
end.
 

Wenn ich mein Programm nun starten möchte kommt die Fehlermeldung: Error: Identifier not found "image1"

In meiner "Hauptunit"/Programm habe ich bereits unter uses ... Level1 hinzugefügt.

Wie kann ich den Error beheben, bzw. an welcher Stelle muss ich meinem Code noch zeigen, wo image1 zu finden ist?

Vielen Dank für Eure Hilfe!
Zuletzt geändert von Lori am Fr 23. Aug 2013, 18:25, insgesamt 1-mal geändert.
Grund: richtiger Highlighter

foxtrot29
Beiträge: 6
Registriert: Do 22. Aug 2013, 16:47

Re: Problem beim Einbinden einer Untit

Beitrag von foxtrot29 »

Ah habe meinen Fehler gefunden!

Code: Alles auswählen

 procedure Level1_zeichnen (var H_A, V_A :integer; Image1: TImage);  
so muss die Zeile heißen ^^
Zuletzt geändert von Lori am Fr 23. Aug 2013, 18:25, insgesamt 1-mal geändert.
Grund: richtiger Highlighter

Antworten