Hallo,
nach Jahrzehnten muss ich etwas mit Objekten machen, was ich immer abgelehnt habe. Bitte keine Diskussionen
Es geht um COM und IDISPATCH. Ich habe versucht, mir die Grundzüge der objektorientierten Programmierung anzulesen.
Pseudo-Code:
Zitat:
DIM pIShellWindows AS IShellWindows
pIShellWindows = NEWCOM CLSID $CLSID_ShellWindows
IF ISNOTHING( pIShellWindows ) THEN msgbox("fehler") ' hier ok
DIM pFolderItem2 AS FolderItem2
pFolderItem2 = pIShellWindows.Item( 0 ) ' erstes fenster
IF ISNOTHING( pFolderItem2 ) THEN msgbox("fehler") ' hier fehler
DIM pIWebBrowser2 AS IWebBrowser2
pIWebBrowser2 = pIShellWindows.Item( 0 ) ' erstes fenster
IF ISNOTHING( pIWebBrowser2 ) THEN msgbox("fehler") ' hier ok
|
Frage: In welcher Dokumentation steht geschrieben, dass man IShellWindows.Item(i) z.B. zusammen mit IWebBrowser2 verwenden darf, aber nicht mit FolderItem2 ?
Allgemeiner: wenn ich ein Objekt habe, mit welchen Interfaces darf ich dieses Objekt verwenden?
Ich habe sogar Visual Studio installiert, um zu sehen, ob vielleicht in dessen Dokumentation etwas steht, aber nichts zu finden. Dieses ITEM ist vom Typ IDISPATCH. Aber wenn man die Doku zu IDISPATCH klickt, bekommt man eben die Doku zu IDISPATCH und nicht, was man mit dem ITEM noch so machen kann.
Ich bitte um Entschuldigung, wenn meine Beschreibung des Problems nicht mit den Fachbegriffen passiert, die man sonst für die OOP verwendet. Ich brauche die Infos auch nur für dieses kleine Projekt, danach gehe ich wieder in meine prozedurale Welt