Bei COM objeken mußt du den Result anders vergleichen
Code: Alles auswählen
Result = CoCreateInstance_(?CLSID_AD_USB2XX,0,1,?IID_AD_USB2XX,@object.AdUSB)
If Result = #S_OK
Endif
Habe denn Code Etwas geändert
Code: Alles auswählen
Interface AdUSB
Scan(Adr)
GetSerialNr(Adr)
GetDeviceType(Adr)
GetError (Adr)
DigIO (Adr,NewValue)
AnalogIO (Adr,Cha,NewValue)
AnalogVoltage (Adr, Cha, NewValue)
ReadAnalogVoltage(DeviceNr, Channel)
ReadDigIn(DeviceNr)
WriteAnalogVoltage(DeviceNr, Channel, Voltage)
WriteDigOut(DeviceNr, Value)
DataIO(DeviceNr)
Close ()
EndInterface
If CoInitialize_(0) <> #S_OK
MessageRequester("Error","Dat will wohl net")
End
EndIf
Result = CoCreateInstance_(?CLSID_AD_USB2XX,0,1,?IID_AD_USB2XX,@object.AdUSB)
If Result = #S_OK
For i= 0 To 126
Debug object\scan(i)
Debug object\GetSerialNr(i)
Debug i
Next i
Debug object\GetError(0)
Else
MessageRequester("Error","Dat will wohl net " + Hex(Result))
Debug Hex(result)
EndIf
DataSection
CLSID_AD_USB2XX: ;{3FA65AAD-3DF5-4D30-8FA7-799205B01C91}
Data.l $3FA65AAD
Data.w $3DF5, $4D30
Data.b $8F , $A7 , $79 , $92 , $05 , $B0 , $1C , $91
IID_AD_USB2XX : ; {279E968D-F134-464E-ACE8-FC0D23958063}
Data.l $279E968D
Data.w $F134, $464E
Data.b $AC , $E8 , $FC , $0D , $23, $95 , $80 , $63
EndDataSection
Nach MSDN auszug:
the 80040154 error indicates REGDB_E_CLASSNOTREG, or "class not registered."
FF
