Einzelnen Beitrag anzeigen

guitar1

Registriert seit: 9. Sep 2006
65 Beiträge
 
Turbo Delphi für Win32
 
#1

Prozeduren aus einer 2. Unit nutzten

  Alt 3. Jun 2007, 20:40
Hi,

ich schreibe gerade ein Programm, in dem ich einige procedures in eine 2. Unit auslager. in der 2. Unit werden diese in eine Klasse gepackt, damit sie auch Ereignissen zugeordnet werden können (hier OnMouseEnter und Leave; das sollte aber eher nebensächlich sein). will ich nun allerdings einem Ereigniss eine Procedure zuordnen kommt die Fehlermeldung "Undefinierter Bezeichner". ich habe die 2. Unit auch schon in die uses eingebunden! wieso erkennt er die denn dann nicht???

procedures in der 2. Unit (gekürzt):
Delphi-Quellcode:
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, unit1,
  Dialogs, ExtCtrls, StdCtrls, Menus, ComCtrls, Buttons, Grids, ImgList, Registry;

type
  Auswaehlen = class(TObject)
    procedure auswahl0leave(Sender: TObject);
    ...
  end;

var
  auswahl: Array of Timage;

implementation

procedure Auswaehlen.auswahl0leave(Sender: TObject);
begin
  form1.Statusbar.Panels[0].Text:= 'Fertig';
  form1.Statusbar.Panels[2].Text:= '';
  auswahl[0].Transparent:=true;
  auswahl[0].OnClick:= form1.MachWas;
end;

end.
Aufruf in der 1. Unit:
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, Menus, ComCtrls, Buttons, Grids, ImgList, Registry;

type
  TForm1 = class(TForm)
    MainMenu1: TMainMenu;
  end;

implementation

uses unit2;

procedure TForm1.NotenAuswahlEnter(Sender: TObject);
begin
  ton[0].Parent := ScrollBox1;
  ton[0].OnMouseEnter := auswahl0enter; // <-- hier kommt der Fehler
  ton[0].OnMouseLeave := auswahl0leave; // &lt;-- hier auch
end;

end.
was vielleicht noch gesagt werden sollte, dass ist das erste mal das ich in andere Units auslager, deshalb habe ich da noch nicht so viel erfahrung mit, also bitte auch nicht so komliziert erklären.

schon mal danke im Voraus
Andi
  Mit Zitat antworten Zitat