AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Methode aus einer .NET Assembly über MethodAddress aufrufen
Thema durchsuchen
Ansicht
Themen-Optionen

Methode aus einer .NET Assembly über MethodAddress aufrufen

Ein Thema von Mossi · begonnen am 30. Jan 2015 · letzter Beitrag vom 30. Jan 2015
Antwort Antwort
Mossi

Registriert seit: 6. Feb 2004
Ort: Wenzenbach
35 Beiträge
 
Delphi 7 Enterprise
 
#1

Methode aus einer .NET Assembly über MethodAddress aufrufen

  Alt 30. Jan 2015, 12:49
Delphi-Version: 7
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:
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;
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.
vielleicht hat jemand eine Idee, an was das liegen könnte, oder wie man das sonst umsetzen könnte.
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#2

AW: Methode aus einer .NET Assembly über MethodAddress aufrufen

  Alt 30. Jan 2015, 12:53
Redest Du von einem COM-Objekt oder einer .NET-Assembly?`
COM-Objekte sollten klappen, bei .NET-Assemblies legst Du dir die Karten.
  Mit Zitat antworten Zitat
Mossi

Registriert seit: 6. Feb 2004
Ort: Wenzenbach
35 Beiträge
 
Delphi 7 Enterprise
 
#3

AW: Methode aus einer .NET Assembly über MethodAddress aufrufen

  Alt 30. Jan 2015, 12:57
Es handelt sich um eine .NET 4 Assembly, mit comvisible Klassen, die mit regasm registriert wurde.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:56 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