![]() |
Delphi-Version: 7
Methode aus einer .NET Assembly über MethodAddress aufrufen
Hallo zusammen,
ich versuche gerade, dass ich Methoden in einer .NET Assembly mit ihrem Namen als String aufrufe. Aber irgendwie liefert dabei MethodAddress immer nil zurück. Dabei hab ist sowohl die Klasse als auch der Methoden-name dynamisch. kann es sein, dass das bei ComVisible Assemblies nicht funktioniert? Der Quellcode schaut grob so aus:
Delphi-Quellcode:
Gurndsätzlich ist es so, dass das Objekt noch erzeugt wird, aber eben obj.methodAddress liefert dann nil zurück und dadurch kann die Methode natürlich auch nicht aufgerufen werden.
type
TProcedure = procedure of object; ... procedure CallMethod(classObj: TPersistentClass; methodName: string); var obj: TObject routine: TMethod; begin RegisterClass(classObj); obj := TClass(classObj).Create; if obj <> nil then begin routine.Data := Pointer(obj); routine.Code := obj.MethodAddress(methodName); TProcedure(routine); end; end; vielleicht hat jemand eine Idee, an was das liegen könnte, oder wie man das sonst umsetzen könnte. |
AW: Methode aus einer .NET Assembly über MethodAddress aufrufen
Redest Du von einem COM-Objekt oder einer .NET-Assembly?`
COM-Objekte sollten klappen, bei .NET-Assemblies legst Du dir die Karten. |
AW: Methode aus einer .NET Assembly über MethodAddress aufrufen
Es handelt sich um eine .NET 4 Assembly, mit comvisible Klassen, die mit regasm registriert wurde.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:21 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