AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Flotter Dreier in ner Shell Extension

Flotter Dreier in ner Shell Extension

Ein Thema von Assarbad · begonnen am 9. Nov 2003 · letzter Beitrag vom 10. Nov 2003
Antwort Antwort
Assarbad
(Gast)

n/a Beiträge
 
#1

Flotter Dreier in ner Shell Extension

  Alt 9. Nov 2003, 18:47
Hiho,

wie bekomme ich denn drei verschiedene Shellextensions in eine DLL? Ich sehe noch kein Land, wenn es darum geht die Extensions auseinanderzuhalten!

Oliver
  Mit Zitat antworten Zitat
Kamil

Registriert seit: 16. Aug 2002
178 Beiträge
 
#2

Re: Flotter Dreier in ner Shell Extension

  Alt 10. Nov 2003, 20:29
Wo kannst du sie nicht auseinanderhalten? Jede ShellExtenstion hat doch ne eindeutige ID.
  Mit Zitat antworten Zitat
Assarbad
(Gast)

n/a Beiträge
 
#3

Re: Flotter Dreier in ner Shell Extension

  Alt 10. Nov 2003, 20:38
Logo, fuer die Aussenwelt. Aber innerhalb meiner DLL sehe ich das bisher noch nicht ganz so ... klaer mich doch einfach auch. Ich kann dich auch gern in Sachen NT Native API oder NT Systemprogrammierung oder NT Treiberprogrammierung aufklaern
  Mit Zitat antworten Zitat
Kamil

Registriert seit: 16. Aug 2002
178 Beiträge
 
#4

Re: Flotter Dreier in ner Shell Extension

  Alt 10. Nov 2003, 21:04
Hä? An welcher stelle kannst du sie nicht auseinander halten??? Ich verstehe es noch immer nicht. Die GUID bestimmst doch du und das während der Entwicklung.
Deine Shellextensions sind doch Objekte, die irgendwelche Interfaces implementieren.
Dann hast du ne ClassFactory, die die Objekte erstellt.
Du kannst mehrere ClassFactories haben(für jede Shellextension eine)
Wenn DllGetClassObject aufgerufen wird, dann muss die richtige ClassFactory das Objekt erstellen. Da dir sowohl die ID der ClassFactory als auch der Typ des Interfaces übergeben wird sollte es doch kein Problem sein.

Code:
STDAPI DllGetClassObject(
  REFCLSID rclsid,        <--- ID von der ClassFactory
  REFIID riid,            <--- ID entweder IClassFactory oder IClassFactory2
  LPVOID * ppv
);
IClassFactory.CreateInstance
bzw
IClassFactory2.CreateInstanceLic
erstellen dann deine Shellextension

Hoffe ich habe hier keinen Schwachsinn erzählt. Ist schon länger her als ich mir Shellextensions was gemacht habe... notfalls bei msdn.microsoft.com nachschauen

Edit: habs ein wenig korrigiert
Edit2: noch ein weing korrigiert
  Mit Zitat antworten Zitat
Assarbad
(Gast)

n/a Beiträge
 
#5

Re: Flotter Dreier in ner Shell Extension

  Alt 10. Nov 2003, 21:22
Danke, ich hab zwar mein Projekt grade nicht hier, aber ich glaube ich verstehe, worauf du hinaus willst. Danke fuer die vorlaeufige Erleuchtung. Ich glaube es hat geholfen. Sollten noch Probleme auftauchen, melde ich mich nochmal.

Mir war noch nicht ganz klar, an welcher Stelle sich das Teil die Objektreferenz holt. Jetzt erscheint es klarer. Sorry, hab gestern Nachmittag damit begonnen mich mit dem Thema zu befassen.

Danke also nochmal
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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:52 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