Das Forentreffen 2018 findet am 20./21. April in Dresden statt. Weitere Infos hier
Zur Homepage des Deutschsprachige Xbase-Entwickler e. V.
Xbase++-Wiki des Deutschsprachige Xbase-Entwickler e. V.

IsMethod() sagt .F. aber trotzdem funktioniert es ?

Nutzung, Komponenten, .NET

Moderator: Moderatoren

Antworten
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 10520
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

IsMethod() sagt .F. aber trotzdem funktioniert es ?

Beitrag von AUGE_OHR » Sa, 28. Nov 2015 7:47

der folgende Code wirft eine CD / DVD (erfolgreich) aus.

das passiert indem ich die Method "invokeverb" aufrufe ... also muss es wohl die Method geben.
nun habe ich die Abfrage IsMethod() eingebaut aber die gibt immer .F. zurück ... aber die Schublade öffnet doch :roll:
was ist da los ? jemand eine Idee ?

Code: Alles auswählen

#include "Shfolder.ch" // ***
#include "COMMON.ch"
#PRAGMA LIBRARY( "ASCOM10.LIB" )

PROCEDURE MAIN(strDrive)
LOCAL oShell
LOCAL oFolder
LOCAL oDrive
   DEFAULT strDrive TO "W:\"      // CD-ROM

   oShell   := CreateObject("Shell.Application")
   oFolder  := oShell:NameSpace(CSIDL_DRIVES)    // ssfDRIVES = 0x11
   IF NIL <> oFolder
      oDrive := oFolder:callMethod("ParseName",strDrive)
      IF NIL <> oDrive
         // kein TONE() ... immer .F. ???
         IF IsMethod(oDrive,"invokeverb")
            TONE(1234)
         ENDIF
         IF IsMethod(oDrive,"InvokeVerb")
            TONE(1234)
         ENDIF
         IF IsMethod(oDrive,"InvokeVerbEx")
            TONE(1234)
         ENDIF

         // aber es geht doch ...
*        oDrive:callMethod("invokeverb","A&uswerfen")
         oDrive:invokeverb("A&uswerfen")
      ENDIF
   ENDIF
RETURN
*** https://msdn.microsoft.com/en-us/librar ... 85%29.aspx
gruss by OHR
Jimmy

Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 10520
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: IsMethod() sagt .F. aber trotzdem funktioniert es ?

Beitrag von AUGE_OHR » Sa, 28. Nov 2015 9:52

ich wundere mich das unter Windows 7 nichts passiert ... :-k
W7W.jpg
W7W.jpg (36.44 KiB) 689 mal betrachtet
bei Auswerfen ist das W unterstrichen und nicht das U wie bei XP ...

Code: Alles auswählen

   IF OnOsVersion < 5
      oDrive:invokeverb("A&uswerfen")
   ELSE
      oDrive:invokeverb("Aus&werfen")
   ENDIF
gruss by OHR
Jimmy

Antworten