AGB  ·  Datenschutz  ·  Impressum  







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

COM + (un)typisierte Zeiger

Ein Thema von Dezipaitor · begonnen am 2. Feb 2008 · letzter Beitrag vom 3. Feb 2008
Antwort Antwort
Seite 1 von 2  1 2      
Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#1

COM + (un)typisierte Zeiger

  Alt 2. Feb 2008, 12:47
hi

ist es möglich mit COM-Objekte typisierte Zeiger zu verwenden? Wenn ja, wie geht das (auch mit type lib (TLB)) ? Geht das in der Steigerung auch mit untypisierten Zeigern (+ Größenangabe)?

Ist es überhaupt möglich WinAPI Handles (sind alle Prozessbezogen, können aber mit DuplicateHandle übertragen werden!) zu verwenden?

thx
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#2

Re: COM + (un)typisierte Zeiger

  Alt 3. Feb 2008, 15:04
24h sind um, daher

** ping **
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#3

Re: COM + (un)typisierte Zeiger

  Alt 3. Feb 2008, 15:18
Hallo,

auch nach mehrmaligem Lesen deines Beitrags bin ich nicht sicher, ob ich dich verstehe.

Typisierte Zeiger in COM-Objekten? Klar: PInteger, PChar, ...

TLB? Brauchst du nur für early binding ...

Untypisierte Zeiger mit Größenangabe? Was hast du da vor?

Freundliche Grüße
  Mit Zitat antworten Zitat
Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#4

Re: COM + (un)typisierte Zeiger

  Alt 3. Feb 2008, 15:49
Naja ich dachte eigentlich, dass ich ein Ergebnis zurückgeliefert von eine C-Funktion, in ein COM-Objekt verwandeln könnte.

Als einfaches Beispiel liefert ConvertStringSidToSidW einen Zeiger auf eine TSID Struktur. Kann nun eine Methode in einem COM-Objekt, diese Datestruktur empfangen, um das COM-Objekt zu initialisieren?
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#5

Re: COM + (un)typisierte Zeiger

  Alt 3. Feb 2008, 16:28
Da ein COM-Object häufig in einer DLL erzeugt wird und diese DLL wiederum oft in C geschrieben wurde, kannst du also davon ausgehen, dass eine C-Library dir ein Interface zurückgeben kann. Ich denke, da müsste es entsprechende Kapitel zur ActiveX-Erstellung in deinem C-Handbuch geben.

Deine letzte Frage ist für mich schon wieder verwirrend, da ich mich mit deinem Spezialgebiet so gut wie nie beschäftige. Ich weiß gar nicht von welchem COM-Object du schreibst - es scheint ein bestimmtes zu sein.
  Mit Zitat antworten Zitat
Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#6

Re: COM + (un)typisierte Zeiger

  Alt 3. Feb 2008, 16:39
Beispiel:

Ich will ein eigenes COM-Objekt erstellen. Das heißt z.B. TCOMSid .
Es verwaltet eine SID (Name, Autoritäten, usw).

Ich frage mich, ob es eine Methode in einem COM-Objekt gegeben kann, die wie folgt aussieht:

procedure InitSid(const Sid : PSid); safecall; Diese Methode holt die benötigten Daten aus der SID und initialisiert Eigenschaften des COM-Objekts.

Die COM-Objekte verbleiben in der Sprache Delphi.
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#7

Re: COM + (un)typisierte Zeiger

  Alt 3. Feb 2008, 17:03
Wenn du das COM-Object mit D7 entwerfen würdest, dann würdest du es COMSid nennen, ihm vielleicht ein Interface ICOMSid verpassen un diesem eine Methode Init. Der Methode ordnest du einen Parameter zu, den Typ machst du vorher bekannt und wählst ihn dann im TLB-Editor als VAR-Parameter aus. Warum willst du das mit C machen?
  Mit Zitat antworten Zitat
Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#8

Re: COM + (un)typisierte Zeiger

  Alt 3. Feb 2008, 17:17
Wie mache ich den Typ bekannt?
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#9

Re: COM + (un)typisierte Zeiger

  Alt 3. Feb 2008, 17:59
Natürlich weißt du, dass du einen Typ per type-declaration bekannt machst!

Ich habe mal im PSDK nachgesehen, was es mit PSID auf sich hat und jetzt ahne ich, was dein Problem ist: variable length structure - kann das sein? Solche Strukturen benötigen eine Größenangabe oder einen Delimiter. Mit SID solltest du dich aber besser auskennen als ich.
  Mit Zitat antworten Zitat
Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#10

Re: COM + (un)typisierte Zeiger

  Alt 3. Feb 2008, 18:19
Zitat von marabu:
Natürlich weißt du, dass du einen Typ per type-declaration bekannt machst!
Ich muss doch für COM diese Methode über IDL definieren. Im TLB Editor gibt es nur die Standardtypen.

Zitat von marabu:
Ich habe mal im PSDK nachgesehen, was es mit PSID auf sich hat und jetzt ahne ich, was dein Problem ist: variable length structure - kann das sein? Solche Strukturen benötigen eine Größenangabe oder einen Delimiter. Mit SID solltest du dich aber besser auskennen als ich.
Die variable Länge ist ein kleineres Problem. Ich weiß nur nicht, wie ich mit früher Bindung solche Typen in TLB bekannt machen kann.
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 11:53 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