'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