![]() |
Delphi-Version: 10.3 Rio
Wie anonyme Funktion nutzen?
Ich habe folgende Funktion:
Delphi-Quellcode:
Wenn ich Foo aufrufen, möchte ich nun im Parameter AFunc eine anonyme Funktion wie folgt nutzen:
TMyFunc = function(Item: TListItem): Boolean of object;
function Foo(AFunc: TMyFunc = nil): Boolean; begin end;
Delphi-Quellcode:
Doch das gibt den Fehler:
...
begin Foo(function (Item: TListItem): Boolean begin //do something end ); end; E2010 Inkompatible Typen: 'TMyFunc' und 'Procedure' Was ist zu tun? |
AW: Wie anonyme Funktion nutzen?
Ändere
Delphi-Quellcode:
zu
TMyFunc = function(Item: TListItem): Boolean of object;
Delphi-Quellcode:
TMyFunc = reference to function(Item: TListItem): Boolean;
|
AW: Wie anonyme Funktion nutzen?
Zitat:
|
AW: Wie anonyme Funktion nutzen?
Delphi-Quellcode:
nimmt nur Objekt- und Klassen-Methoden auf,
function() of object
Delphi-Quellcode:
nimmt nur Prozeduren und statische Klassen-Methoden auf
function()
und
Delphi-Quellcode:
nimmt alles, auch anonyme Methoden
reference to function()
|
AW: Wie anonyme Funktion nutzen?
In meinen Video erkäre ich das etwas:
Zeiger auf Methoden und Funktionen in Delphi - ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:10 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz