![]() |
Adresse einer Objekt-Procedure übergeben
Hallo zusammen,
bei der folgenden Anweisung gibt der Compiler den Hinweis "Variable erforderlich" aus !
Delphi-Quellcode:
Wobei FTrigger.PtrTriggerEnd wie folgt deklariert ist:
FTrigger.PtrTriggerEnd := @FBWManager.TriggerEnd;
Delphi-Quellcode:
Und FBWManager.TriggerEnd sieht wie folgt aus:
property PtrTriggerEnd : Pointer write FPtrTriggerEnd;
Delphi-Quellcode:
Ich möchte nur die Adresse der Procedure FBWManager.TriggerEnd übergeben.
TBWManager = class(TObject)
private . . . public procedure TriggerEnd; end; Was mache ich falsch ? MfG Woto |
Re: Adresse einer Objekt-Procedure übergeben
Hallo Woto,
eine Methode kann nicht über einen einfachen Pointer adressiert werden. Du solltest die Referenz als TThreadMethod vereinbaren und nicht als pointer. Die Zuweisung sieht dann so aus:
Delphi-Quellcode:
Gruß Hawkeye
FTrigger.PtrTriggerEnd := FBWManager.TriggerEnd;
|
Re: Adresse einer Objekt-Procedure übergeben
Oder du machst dir deine eigenen MethodenTypen, falls du Rückgabe werte oder Parameter benötigst und benutzt diese dann:
Delphi-Quellcode:
Bye Keda
Type
TMeineMethode = Procedure( Const MeinStr: String; Var MeinVar: Integer ) Of Object; TMeineMethode2 = Function( Const MeinStr: String; Var MeinVar: Integer ): Integer Of Object; |
Re: Adresse einer Objekt-Procedure übergeben
Hallo zusammen,
eure Antworten haben mir sehr geholfen. :hello: Ich habe mir einen eigenen MethodenType erstellt und diesen statt Pointer verwendet. Vielen Dank :hi: MfG Woto |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:14 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