Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Pointer auf eine Klasseninterne Funktion (https://www.delphipraxis.net/31665-pointer-auf-eine-klasseninterne-funktion.html)

Dark Templar 12. Okt 2004 13:47


Pointer auf eine Klasseninterne Funktion
 
Okay, nehmen wir mal an, das ich ein window control subclasse (netter Anglizismus, nicht?), und das ganze im Sinne der OOP in einer Klasse unterbringe. Nun habe ich eine extra Fensterprozedur für das control, aber Delphi verweigert den Dienst, wenn ich diese als Pointer an eine andere Funktion übergebe, solange die Fensterprozedur ebenfalls innerhalb der Klasse aufgeführt ist.
Was muss ich tun, damit Delphi diese Referenz nur Klassenintern anerkennt?

Olli 1. Jul 2005 13:24

Re: Pointer auf eine Klasseninterne Funktion
 
Geht nur mit viel Assembler und solchem Kram. Habe ich schonmal gesehen, habe aber keinen Link mehr. Ist auch nicht empfehlenswert.

Wozu aber willst du diese Funktion innerhalb der Klasse deklarieren? Sie hat doch sowieso immer ihren eigenen Stack. Sie kann also einfach innerhalb der gleichen Unit aber außerhalb der Klasse liegen.

NicoDE 1. Jul 2005 13:30

Re: Pointer auf eine Klasseninterne Funktion
 
Zitat:

Zitat von Dark Templar
Nun habe ich eine extra Fensterprozedur für das control, aber Delphi verweigert den Dienst, wenn ich diese als Pointer an eine andere Funktion übergebe, solange die Fensterprozedur ebenfalls innerhalb der Klasse aufgeführt ist.
Was muss ich tun, damit Delphi diese Referenz nur Klassenintern anerkennt?

Entweder sollte ich mehr Kaffee trinken, oder ich habe zuviele Nachfragen...
...wie wäre es mit einem Quellcode-Beispiel?

Vielleicht meinst Du Methoden als Fenster-Prozedur zu benutzen: siehe MakeObjectInstance


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:07 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz