![]() |
Wie geht das mit den Methodenzeigern
Hallo Leute,
ich bin am verzweifeln, ich hab eine Methodenzeiger
Delphi-Quellcode:
dann hab ich eine Variable definiert
type TFormatOnGetText = procedure(Sender: TField; var Text: String; DisplayText: Boolean) ;
Delphi-Quellcode:
Ok soweit alles klar und jetzt will ich diesem Zeiger eine Procedure
_FormatOnGetText: TFormatOnGetText ;
Delphi-Quellcode:
übergeben aber das bekomme ich nicht hin.
procedure (Sender: TField; var Text: String; DisplayText: Boolean) ;
begin Text := FormatFloat('000000', Sender.AsInteger); end; Kann mir da jemand helfen? Grüßle Sebastian |
Re: Wie geht das mit den Methodenzeigern
Zitat:
Zitat:
Zitat:
|
Re: Wie geht das mit den Methodenzeigern
Zitat:
Wie muss ich den Zeiger definieren wenn ich die Procedure
Delphi-Quellcode:
Wie muss ich dann den Zeiger auf die Procedure definieren?
procedure (Sender: TField; var Text: String; DisplayText: Boolean) ;
begin Text := FormatFloat('000000', Sender.AsInteger); end; Grüßle Sebastian |
Re: Wie geht das mit den Methodenzeigern
Hallo,
Zitat:
Zitat:
Delphi-Quellcode:
Gruß
type TFormatOnGetText = procedure(Sender: TField; var Text: String; DisplayText: Boolean) of object;
xaromz |
Re: Wie geht das mit den Methodenzeigern
Und wie übergebe ich diesem Procedurzeiger
Delphi-Quellcode:
(Ist doch ein Procedurzeger)
type TFormatOnGetText = procedure(Sender: TField; var Text: String; DisplayText: Boolean)
meine Procedure? |
Re: Wie geht das mit den Methodenzeigern
Vor allem solltest du deiner Prozedur mal nen Namen geben:
Delphi-Quellcode:
procedure MachWas(Sender: TField; var Text: String; DisplayText: Boolean) ;
begin Text := FormatFloat('000000', Sender.AsInteger); end; {...} _FormatOnGetText := MachWas; |
Re: Wie geht das mit den Methodenzeigern
Zum Beispiel:
Delphi-Quellcode:
Wenn _FormatOnGetText eine globale Variable ist, mußt du glaube oben bei der Deklaration das "... of object" weglassen und die Prozedur aus der Klasse rausnehmen.
type
TForm1 = class (TForm) // ... private procedure MyFormatOnGetText(Sender: TField; var Text: String; DisplayText: Boolean); // ... end; // ... implementation procedure TForm1.MyFormatOnGetText(Sender: TField; var Text: String; DisplayText: Boolean); begin // ... Dein Code end; procedure TForm1.FormCreate(Sender: TObject); begin _FormatOnGetText := MyFormatOnGetText; end; |
Re: Wie geht das mit den Methodenzeigern
Moin, Moin,
hast du nicht mit TFormatOnGetText einen neuen Ereignistyp deklarieren wollen, der deine Variable _FormatOnGetText lesen/schreiben soll? Wenn dem so ist, dann fehlt doch die published-Deklaration
Delphi-Quellcode:
Oder habe ich das jetzt falsch verstanden?
published
property OnGetText : TFormatOnGetText read _FormatOnGetText write _FormatOnGetText Gruß Ralph |
Re: Wie geht das mit den Methodenzeigern
Zitat:
|
Re: Wie geht das mit den Methodenzeigern
Allso
was ich eigentlich machen wollte, einen Globalen DB-Handler schreiben der die Ausagbe meiner Datenbank bein AfterOpen Ereignis der Query Formatiert. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:38 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