Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Inkompatible Typen: Methodenzeiger und reguläre Prozedur (https://www.delphipraxis.net/44160-inkompatible-typen-methodenzeiger-und-regulaere-prozedur.html)

schuetze09 15. Apr 2005 06:11

Re: Inkompatible Typen: Methodenzeiger und reguläre Prozedur
 
@jim_raynor: und wie am besten?

mfg
schuetze09

jim_raynor 15. Apr 2005 07:39

Re: Inkompatible Typen: Methodenzeiger und reguläre Prozedur
 
Man baut sich einfach eine Dummy-Klasse mit der Funktion.

Delphi-Quellcode:
type
  TTabManagerClass = class
  private
  public
    procedure VST_Edit_OnGetText(Sender: TBaseVirtualTree; Node: PVirtualNode);
  end;

implementation

procedure TTabManagerClass.VST_Edit_OnGetText(Sender: TBaseVirtualTree; Node: PVirtualNode);
begin
end;


.
.
.

Temp:=TTabManagerClass.Create;
OnGetText:=Temp.VST_Edit_OnGetText;
Ist nur ein Ansatz und ungetestet. Problem ist natürlich, das speicherleichen hinterlassen werden. Eventuell klappt es ohne Instanzen, wenn man Klassen-Funktionen nutzt, aber das weiß ich im Moment nicht.

Aber mir ist gerade aufgefallen, dass du auch direkt auf die Main_Form Instanz zugreifst. Würde dir da empfehlen, der Procedure das PageCOntrol zuübergeben, damit du unabhängig bist.

schuetze09 15. Apr 2005 08:57

Re: Inkompatible Typen: Methodenzeiger und reguläre Prozedur
 
Danke, werde ich mal ausprobieren.

MfG
schuetze09

schuetze09 15. Apr 2005 09:19

Re: Inkompatible Typen: Methodenzeiger und reguläre Prozedur
 
@jim_raynor: Super es funktioniert, jetzt gehört zusammen, was logisch zusammen gehört!!!

MfG
schuetze09

Christian Seehase 15. Apr 2005 09:45

Re: Inkompatible Typen: Methodenzeiger und reguläre Prozedur
 
Moin Schütze09,

jetzt darfst Du nur nicht vergessen, die Instanz der Klasse auch wieder freizugeben.

jim_raynor 15. Apr 2005 10:09

Re: Inkompatible Typen: Methodenzeiger und reguläre Prozedur
 
Zitat:

Zitat von Christian Seehase
Moin Schütze09,

jetzt darfst Du nur nicht vergessen, die Instanz der Klasse auch wieder freizugeben.

Deshalb mein Hinweis mit den Speicherleichen. Das Problem ist ja, wann das Objekt wieder freigegeben wird.

Da kommt mir gerade die Idee, dass es ja ausreicht einmal das Objekt zu erzeugen.

implentation

Delphi-Quellcode:
var
  g_DummyObjekt: TTabManagerClass;

initizialization

  g_DummyObjekt:=TTabManagerClass;

finalization

  FreeAndNil(g_DummyObjekt);
dann kann man immer g_DummyObjekt verwenden, anstatt jedesmal eine neue Instanz anzulegen.

schuetze09 15. Apr 2005 10:36

Re: Inkompatible Typen: Methodenzeiger und reguläre Prozedur
 
Das ist natürlich auch eine Lösung (gute).

MfG
schuetze09


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:25 Uhr.
Seite 2 von 2     12   

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