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