Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Nutzung von IUnknown / IDispatch / IAccessible in FB

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Windows-spezifische Fragen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
grindstone



Anmeldungsdatum: 03.10.2010
Beiträge: 1208
Wohnort: Ruhrpott

BeitragVerfasst am: 19.06.2017, 22:42    Titel: Nutzung von IUnknown / IDispatch / IAccessible in FB Antworten mit Zitat

Wie bekomme ich mit FB Zugriff auf IUnknown / IDispatch / IAccessible? Die Bindings (oleacc.bi / shlobj.bi) sind Bestandteil von FB, aber ich habe bis jetzt kein einziges Beispiel für deren Nutzung gefunden.

Code:
#Include "win/shlobj.bi"

Dim As IFolderView Ptr ifv
Dim As ULong CurrentViewMode

IFolderView_GetCurrentViewMode(ifv, @CurrentViewMode)

compiliert zwar ohne Fehlermeldung, aber irgendwie muß ich der Funktion ja noch mitteilen, von welchem Fenster ich die Information haben möchte.

Soweit ich es in Erfahrung bringen konnte, ist dafür die Funktion IFileViewerSite::SetPinnedWindow(hWnd) zuständig, aber ich schaffe es nicht, sie aufzurufen. traurig

Ist irgendjemand schlauer als ich?

Gruß
grindstone
_________________
For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
St_W



Anmeldungsdatum: 22.07.2007
Beiträge: 949
Wohnort: Austria

BeitragVerfasst am: 19.06.2017, 23:20    Titel: Antworten mit Zitat

Ich habe bislang leider (oder zum Glück; so recht weiß ich das nicht) noch nicht mit COM in FreeBasic gearbeitet, aber es gibt da schon so manche Beispiele, z.B. im examples/win32/COM Ordner, wobei die vermutlich etwas veraltet sind. Besser siehst du dich im engl. Forum um, der Benutzer "aloberoger" arbeitet dort oft an irgendwelchen COM Sachen. Vielleicht ist auch SimpleVariant (bzw. evtl. dessen Vorgänger SimpleCOM) für dich interessant.
_________________
Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
grindstone



Anmeldungsdatum: 03.10.2010
Beiträge: 1208
Wohnort: Ruhrpott

BeitragVerfasst am: 19.06.2017, 23:55    Titel: Antworten mit Zitat

Vielen Dank für die schnelle Antwort. happy

Ich habe einen kurzen Blick auf CDropTarget geworfen, es sieht schon mal recht vielversprechend aus, zumindest ist die prinzipielle Vorgehensweise ersichtlich.

Seltsam, daß Google zu dem Thema nichts ausspuckt... verwundert

Gruß
grindstone
_________________
For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
St_W



Anmeldungsdatum: 22.07.2007
Beiträge: 949
Wohnort: Austria

BeitragVerfasst am: 20.06.2017, 14:58    Titel: Re: Nutzung von IUnknown / IDispatch / IAccessible in FB Antworten mit Zitat

grindstone hat Folgendes geschrieben:
[...], aber irgendwie muß ich der Funktion ja noch mitteilen, von welchem Fenster ich die Information haben möchte.

Soweit ich es in Erfahrung bringen konnte, ist dafür die Funktion IFileViewerSite::SetPinnedWindow(hWnd) zuständig, [...]

Erstmal wirst du eine Instanz brauchen, die IFolderView bereitstellt. Die wird auch spezifisch für ein bestimmtes Fenster sein. Dass die von dir genannte Funktion dann noch etwas damit zu tun hat bezweifle ich ehrlich gesagt.

Eventuell könnte folgender Code hilfreich sein:
https://blogs.msdn.microsoft.com/oldnewthing/20130318-00/?p=4933

Aber wie gesagt sind COM und die Shell API ganz und gar nicht mein Fachgebiet, darum sind alle meine Vermutungen oberhalb mit entsprechender Vorsicht zu genießen zwinkern
_________________
Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
grindstone



Anmeldungsdatum: 03.10.2010
Beiträge: 1208
Wohnort: Ruhrpott

BeitragVerfasst am: 20.06.2017, 19:37    Titel: Antworten mit Zitat

St_W hat Folgendes geschrieben:
Erstmal wirst du eine Instanz brauchen, die IFolderView bereitstellt. Die wird auch spezifisch für ein bestimmtes Fenster sein. Dass die von dir genannte Funktion dann noch etwas damit zu tun hat bezweifle ich ehrlich gesagt.
Stimmt, das Fenster wird über einen Pointer auf ein Objekt angesprochen, soviel habe ich inzwischen herausgefunden.

Auf dem FreeBASIC-Portal habe ich ein sehr informatives Tutorial (wieder-)entdeckt, in dem beschrieben wird, wie die Funktionen der Windows - Interfaces in FB ab Version 1.00 eingebunden werden (die im FB - Paket mitgelieferten Beispiele und auch die Bindings sind wirklich veraltet).

Wie ein bekannter ehemaliger Fußballtrainer zu sagen pflegte: "Schaun mer mal!" lächeln

Gruß
grindstone
_________________
For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Windows-spezifische Fragen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz