Einzelnen Beitrag anzeigen

xxl1

Registriert seit: 21. Apr 2006
88 Beiträge
 
FreePascal / Lazarus
 
#4

Re: Prozeduren aus einer 2. Unit nutzten

  Alt 3. Jun 2007, 23:16
Zitat von guitar1:
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)
  public //
    procedure auswahl0leave(Sender: TObject);
  private //
    ...
  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.
Du solltest private/public/published benutzen um herauszustellen welche funktionen,prozeduren und variablen wie zu behandeln sind.
Auserdem solltest du constructor und destructor definieren damit die einzelnen teile flexibel erstellt werden können...
jedoch sollte es meines wissens auch so gehen:

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 := Auswaehlen.auswahl0enter; // <-- hier kommt der Fehler <-- Du musst zu erkennen geben wo die prozedur enthalten ist
  ton[0].OnMouseLeave := Auswaehlen.auswahl0leave; // &lt;-- hier auch
end;

end.
  Mit Zitat antworten Zitat