Einzelnen Beitrag anzeigen

hirnstroem

Registriert seit: 21. Sep 2005
297 Beiträge
 
Delphi 2006 Professional
 
#1

Inkompatible Typen: 'TNotifyEvent' und 'procedure, untyped..

  Alt 3. Okt 2006, 09:45
'loha Folks,

In einem OnRenderCell Ereignis wird folgende Prozedur ausgeführt, welche ein Symbol als Control in ein IWDBGrid einfügt und bei einem OnClick Ereignis auf eine weitere Prozedur verweist, welche in diesem Fall das Grid sortiert:
Delphi-Quellcode:
procedure TfrmDeviceManagementSelect.grdDeviceRenderCell(ACell: TIWGridCell;
  const ARow, AColumn: Integer);
begin
  if ARow = 0 then
  begin
    if AColumn = 1 then
    begin
      with ACell do
      begin
        Control := TIWImageFile.Create(Self);
        with TIWImageFile(Control) do
        begin
          ImageFile.Filename := './sort.gif';
          OnClick := UserSession.SortBy(DataSet, 'Address'); //*
        end;
      end;
    end;
  end;
end;
Allerdings erscheint beim kompilieren die folgende Meldung bei der mit //* markierten Zeile:

[Pascal Fehler] UDeviceManagementSelect.pas(87): E2010 Inkompatible Typen: 'TNotifyEvent' und 'procedure, untyped pointer or untyped parameter'

Und aus dieser Meldung wird meine Wenigkeit überhaupt nicht schlau.

OnClick := UserSession.SortBy(DataSet, 'Address'); ^^ Hier wird ja lediglich gesagt, dass wenn jemand auf das GIF-Image klickt, die Prozedure SortBy mit den entsprechenden Argumenten im Unit UserSession ausgeführt werden soll. Das sollte doch machbar sein?!

Weiss jemand Rat?

Grüsse
hirnstroem
inde deus abest
  Mit Zitat antworten Zitat