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