![]() |
Type-Syntax-Erklärung
Hi.
Wer kann mir diesen Code erklären? Wie kann ein Typ eine Prozedur sein?
Code:
und was muss ich als Parameter, die vom Typ THTMLParseProc sind, eingeben?
type
THTMLParseProc = procedure(const HTMLData: string; TagType: TTagType; Parameters: TStrings);
Code:
Kann jemand helfen - danke
procedure ParseHTML(const HTML: string; ParseProc: THTMLParseProc)
|
Re: Type-Syntax-Erklärung
Hi,
Ein Typ weist den Compiler darauf hin, dass es sich um den exakt selben Datentyp handelt. (Beispiel: TNotifyEvent). Als Parameter musst Du eine Prozedur (ohne Parameterklammern) übergeben. mfG mirage228 |
Re: Type-Syntax-Erklärung
Danke schön
|
Re: Type-Syntax-Erklärung
Das ist ein Funktionszeiger. So wie ein normaler Zeiger auf eine Variable zeigen kann, zeigt ein Funktionszeiger auf eine Funktion. Der Unterschied ist, dass man einer Funktion auch noch Parameter übergeben kann, deshalb muss der Funktionszeigertyp nach folgendem Muster deklariert werden:
Delphi-Quellcode:
Dann musst du eine Funktion haben, die deren Parameterliste der des Funktionszeigers in Typ und Reihenfolge entspricht. Dann musst du den Funktionszeiger auf die Funktion zeigen lassen, und du kannst fortan mit dem Funktionszeiger die Funktion aufrufen.
type
PFunction = function(a: Integer): Integer; PProcedure = procedure(a: Integer);
Delphi-Quellcode:
type
PAddFunc: function(a, b: Integer): Integer; function Add(a, b: Integer); Integer; begin Result := a + b; end; procedure Main(); var AddFunc: PAddFunc; i: Integer; begin AddFunc := @Add; i := AddFunc(4, 5); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:01 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