Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Probleme beim Funktionsaufruf: Reguläre Prozedur und Methode (https://www.delphipraxis.net/35897-probleme-beim-funktionsaufruf-regulaere-prozedur-und-methode.html)

endeffects 13. Dez 2004 15:19


Probleme beim Funktionsaufruf: Reguläre Prozedur und Methode
 
hallo,

ich hab in einem forum eine funktion gefunden die angeblich recht schnell
tags ersetzen können soll, leider hab ich probleme dabei sie aufrufen
zu können

Delphi-Quellcode:
function FastTagReplace(const SourceString, TagStart, TagEnd: string;
  FastTagReplaceProc: TFastTagReplaceProc; const UserData: Integer): string;
und zwar soll der inhalt des tags an eine andere Funktion (FastTagReplaceProc) übergeben werden
die diesen dann bearbeitet, leider hab ich keinen blassen Schimmer wie ich das
einbinden soll, wenn ich dazu eine ganz normale methode nehme bekomm ich den
Fehler "Inkompatible Typen: Reguläre Prozedur und Methodenzeiger".

Jemand eine Idee was ich da besser machen kann?
Mit Zeigern kenn ich mich noch nicht wirklich gut aus

Jelly 13. Dez 2004 15:51

Re: Probleme beim Funktionsaufruf: Reguläre Prozedur und Met
 
du musst dir erst den Type TFastTagReplaceProc deklarieren. Wie die Prozedur aussieht, legst du selbst fest, z.B.
Delphi-Quellcode:
type
  TFastTagReplaceProc = procedure (Par1 : string) ;
Die Prozedur, die du der FastTagReplace-Funktion übergibst muss dann genau gleich aussehen wie TFastTagReplaceProc.

Steve 13. Dez 2004 15:57

Re: Probleme beim Funktionsaufruf: Reguläre Prozedur und Met
 
Zitat:

Zitat von endeffects
...wenn ich eine ganz normale methode nehme bekomm ich den
Fehler "Inkompatible Typen: Reguläre Prozedur und Methodenzeiger".

Hi,

Vermutlich wird ne Mehtode (procedure of object) verlangt und Du gibst ne Prozedur an. (oder andersrum)
TNotifyEvent ist bspw. ne Methode (procedure TButtonX.BtnXClick(...); ), während procedure BtnXClick(...) "nur" ne Prozedur wäre (und keiner Klasse "zugeordnet" ist.
Vielleicht liegt das Problem aber ja doch woanders :D

Gruß
Stephan :dance: :xmas:


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:16 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 by Thomas Breitkreuz