AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi COM-Objekt - Objekt übergeben
Thema durchsuchen
Ansicht
Themen-Optionen

COM-Objekt - Objekt übergeben

Ein Thema von moritz0906 · begonnen am 11. Mai 2017 · letzter Beitrag vom 12. Mai 2017
Antwort Antwort
moritz0906

Registriert seit: 17. Mai 2012
3 Beiträge
 
#1

COM-Objekt - Objekt übergeben

  Alt 11. Mai 2017, 17:13
Hallo Zusammen,

ich versuche in einer Software ein COM Objekt zu erstellen, das als eine der Eigenschaften ein Objekt übergibt.
Ich habe ein Beispel angehängt, in dem ihr die Funktion "MainObject" findet, diese gibt eine Instanz von TMainObject zurück.
Ich würde dieses Objekt gerne in mein COM Objekt einbinden, so dass ich auf die "public" Methoden und Eigenschaften zugreifen kann.
Zum Beispiel, angenommen ich habe eine Instanz des COM Objektes "myObject" erstellt möchte ich folgendes tun:

myObject.ChildObjects(1).Value1 // Sollte Value1 des zweiten ChildObjects zurückgeben
myObject.ChildObjects(0).Value3.Clear // Sollte die "Clear" Prozedur von Value3 des ersten ChildObjects ausführen

Das COM Objekt wird am Ende nicht in einer Delphi Applikation erstellt, es wird in der Microsoft Script Engine "jscript" erstellt.

Muss ich mein Beispiel Objekt modifizieren um das zu erreichen?
Muss ich etwas bei den Eigenschaften und Typen bei der Erstellung meines COM Objekts beachten.

Vielen Dank für eure Hilfe,
moritz
Angehängte Dateien
Dateityp: zip uTestClass.zip (789 Bytes, 8x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.004 Beiträge
 
Delphi 12 Athens
 
#2

AW: COM-Objekt - Objekt übergeben

  Alt 11. Mai 2017, 17:58
COM-Objekte sind Interfaces.

Sie kann man also in IInterface (und Nachfahren), IUnknown oder Variant speichern.

Bei IInterface brauchst du natürlich eine passende Interfaceimplementation (könnte man sich über das Menü "Komponente > Komponente importieren..." importieren).

Wenn es die Interfaces untersüzen, dann kann man auch den OleVariant verwenden.
Also wenn die gewünschten Interfaces von IDispatch erben.
Denn da kann man zur Laufzeit auf Methoden zugreifen, die man beim Kompilieren nicht extra implementiert hat, da der OleVariant das Invoke vom IDispatch behandelt.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
moritz0906

Registriert seit: 17. Mai 2012
3 Beiträge
 
#3

AW: COM-Objekt - Objekt übergeben

  Alt 11. Mai 2017, 18:24
Hi Himitsu,

ich bin nicht sicher ob ich das Verstehe.

Die Objekte auf die ich über das COM Objekt zugreifen möchte (TMainObject und dessen Inhalt) werden von von einem anderen Part der Software erstellt und dann vom COM-Objekt part genutzt.

...Ist das verständlich ausgedrückt?

Danke,
moritz
  Mit Zitat antworten Zitat
moritz0906

Registriert seit: 17. Mai 2012
3 Beiträge
 
#4

AW: COM-Objekt - Objekt übergeben

  Alt 12. Mai 2017, 15:52
Danke für den Tip Himitsu, er hat mich in die richtige Richtung geführt, es klappt jetzt.

Gruss,
moritz
  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 00:19 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