Einzelnen Beitrag anzeigen

Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
804 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Übergabe von Parameter an Proceduren in unterschiedlichen Units

  Alt 22. Okt 2014, 15:38
Hallo,

vielen Dank für den Hinweis!!!

Ich habe es jetzt so probiert:

Auslösende Unit:
Delphi-Quellcode:
type
   TEvent = procedure(Sender: TObject) of object;
   TEvent_Filter = procedure (Sender: TObject; ACol,ARow: integer);
   TFrame_Uebersicht = class(TFrame)
...
 private
      { Private-Deklarationen }
      FOnFilter: TEvent_Filter;
   public
      { Public-Deklarationen }
      property OnFilter: TEvent_Filter read FOnFilter write FOnFilter;
   end;

implementation

{$R *.dfm}

procedure TFrame_Uebersicht.Grid_UebersichtClickCell(Sender: TObject; ARow,
  ACol: Integer);
begin
   if (Assigned(FOnFilter)) and (ARow=1) then
      FOnFilter(Grid_Uebersicht, ACol, ARow);
end;
In der Hauptunit:

Delphi-Quellcode:
procedure TMain.FormCreate(Sender: TObject);
begin
   Frame_Uebersicht1.OnFilter:= Filter_Actions; //hier wird ein Fehler ausgelöst
end;

procedure TMain.Filter_Actions(Sender: TObject; ACol, ARow: integer);
var SG: TAdvStringGrid;
begin
   if Sender is TAdvStringGrid then begin
      SG:= Sender as TAdvStringGrid;
      Set_Filter(SG);
      Apply_Filter(SG);
   end;
end;
In der TMain.FormCreate wird ein Fehler ausgelöst:
[DCC Fehler] MainUnit.pas(915): E2009 Inkompatible Typen: 'Reguläre Prozedur und Methodenzeiger' Kannst Du mir sagen, was ich falsch mache?

Danke
Patrick
Patrick
  Mit Zitat antworten Zitat