AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

WAS ist COM??

Ein Thema von QuickAndDirty · begonnen am 26. Aug 2005 · letzter Beitrag vom 29. Aug 2005
Antwort Antwort
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.883 Beiträge
 
Delphi 12 Athens
 
#1

WAS ist COM??

  Alt 26. Aug 2005, 13:02
Also ich Programmiere mit Delphi 7 und soll unserem Makro Interpreter COM-Objekte verfügbar machen.
Hintergrund ist wohl eine Export Schnittstelle. Ich hab soweit in der Delphi Hilfe erkennen können
das es hier wohl um Netzwerkweit verfügbare Objekte geht die nach Client-Server-Manier Daten austauschen können.ODER???
Gibt es irgend wo ein tutorial dazu?
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: WAS ist COM??

  Alt 26. Aug 2005, 13:19
Zitat von QuickAndDirty:
Also ich Programmiere mit Delphi 7 und soll unserem Makro Interpreter COM-Objekte verfügbar machen.
Hintergrund ist wohl eine Export Schnittstelle. Ich hab soweit in der Delphi Hilfe erkennen können
das es hier wohl um Netzwerkweit verfügbare Objekte geht die nach Client-Server-Manier Daten austauschen können.ODER???
Gibt es irgend wo ein tutorial dazu?
Nein. das ist erst DCOM
Aber evtl. reicht dir ja fürs erste der Wikipedia-Artikel
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.883 Beiträge
 
Delphi 12 Athens
 
#3

Re: WAS ist COM??

  Alt 26. Aug 2005, 14:49
Ja es ist eine DCOM Object.
So Wie es aussieht Kann ich es einfach über
 v := CreateOleObjekt('MeineSchnittstelle'); Aufrufen.

Gibt es eine Möglichkeit die Methoden über invoke aufzurufen und
wenn ja wie sieht sowas aus.
Es Wäre nähmlich schön Wenn der c-Interpreter nicht für jedes neue Com
object mit neuen Methoden versorgt werden muss. Läst sich das irgendwie
über einen Aufruf per name erledigen??
Sprich wie geht Invoke??
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: WAS ist COM??

  Alt 26. Aug 2005, 15:50
Zitat von QuickAndDirty:
Gibt es eine Möglichkeit die Methoden über invoke aufzurufen und
wenn ja wie sieht sowas aus.
Ja es geht. Aber wie.... Im COM-Buch von A. Kosch steht was drüber (habe ich gerade nicht zur hand) und Delphi macht es genauso wenn man mit OleVariants arbeitet

Zitat von QuickAndDirty:
Sprich wie geht Invoke??
Ja. Grottenschlechte Performance und unter Win9x/ME sollte es nicht zu oft aufgerufen werden. Ich glaube nach ca. 65.000 Aufrufen gibts Probleme.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#5

Re: WAS ist COM??

  Alt 26. Aug 2005, 17:39
Zitat von QuickAndDirty:
Es Wäre nähmlich schön Wenn der c-Interpreter nicht für jedes neue Com
object mit neuen Methoden versorgt werden muss. Läst sich das irgendwie
über einen Aufruf per name erledigen??
Sprich wie geht Invoke??
Zumindest mit "einfachen" COM-Properties geht das.
In Unit AxCtrls gibt es:
Delphi-Quellcode:
procedure EnumDispatchProperties(Dispatch: IDispatch; PropType: TGUID; VTCode: Integer; PropList: TStrings);

function GetDispatchPropValue(Disp: IDispatch; DispID: Integer): OleVariant;
procedure SetDispatchPropValue(Disp: IDispatch; DispID: Integer; const Value: OleVariant);
Mit EnumDispatchProperties holst du dir zuerst eine Liste der Properties.
Die DispId kann man über Integer(Stringlist.Objects[]) abgreifen.
Und dann eben mit GetDispatchPropValue oder SetDispatchPropValue arbeiten.

Übrigens: Du schreibst "Makro Interpreter". Meinst du damit einen Interpreter, der Scripts in Pascal interpretiert ?
Ich frage nur, weil ich einfach VBScript oder JScript in meine Anwendung integriere. Damit ist die dynamische Anbindung von COM/DCOM-Objekten schon erledigt.
Andreas
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.883 Beiträge
 
Delphi 12 Athens
 
#6

Re: WAS ist COM??

  Alt 29. Aug 2005, 13:24
Delphi-Quellcode:
procedure EnumDispatchProperties(Dispatch: IDispatch; PropType: TGUID; VTCode: Integer; PropList: TStrings);

function GetDispatchPropValue(Disp: IDispatch; DispID: Integer): OleVariant;
procedure SetDispatchPropValue(Disp: IDispatch; DispID: Integer; const Value: OleVariant);
Kannst du mir ein Beispiel Basteln. Ich kann mir nicht unter VT-Code vorstellen.
Auf ähnliche weise mache ich es mit Perl für ActiveDirectory oder WEBEM nur
in Delphi hab ich irgend wie keinen Plan wie das läuft.



Wir der Anwendung ist ein eigener C interpreter eingebaut der ähnlich wie JAVA aus dem
C-Code einen Objekt code Kompiliert und diesen dann an verschiedenen Makroausprüngen in
der Anwendung interpretiert. Diese Makros sind verdammt schnell und der Interpreter ist in Pascal geschrieben.
Andreas
Monads? Wtf are Monads?
  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 17:07 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