Il y a des soucis avec les guillemets et les apostrophes.
Code : Tout sélectionner
Func ObjName_FlagsValue(ByRef $oObj)
Local $sInfo = ''
$sInfo &= '+>' & @TAB & 'ObjName($oObj,1) {Le nom de l'Object} =' & @CRLF & @TAB & ObjName($oObj, $OBJ_NAME) & @CRLF
; Les objets ne supportent pas tous les flags 2 to 7. Testez toujours @error dans ces cas.
$sInfo &= '+>' & @TAB & 'ObjName($oObj,2) {Chaîne descriptive de l'Object} =' & @CRLF & @TAB & ObjName($oObj, $OBJ_STRING)
If @error Then $sInfo &= '@error = ' & @error
$sInfo &= @CRLF & @CRLF
$sInfo &= '+>' & @TAB & 'ObjName($oObj,3) {Le ProgID de l'Object} =' & @CRLF & @TAB & ObjName($oObj, $OBJ_PROGID)
If @error Then $sInfo &= '@error = ' & @error
$sInfo &= @CRLF & @CRLF
$sInfo &= '+>' & @TAB & 'ObjName($oObj,4) {Le fichier qui est associé à l'object dans le Registre} =' & @CRLF & @TAB & ObjName($oObj, $OBJ_FILE)
If @error Then $sInfo &= '@error = ' & @error
$sInfo &= @CRLF & @CRLF
$sInfo &= '+>' & @TAB & 'ObjName($oObj,5) {Nom du Module dans leque l'object s'exécute (WIN XP And above). Marshaller for non-inproc objects.} =' & @CRLF & @TAB & ObjName($oObj, $OBJ_MODULE)
If @error Then $sInfo &= '@error = ' & @error
$sInfo &= @CRLF & @CRLF
$sInfo &= '+>' & @TAB & 'ObjName($oObj,6) {CLSID de la coclass de l'onjet} =' & @CRLF & @TAB & ObjName($oObj, $OBJ_CLSID)
If @error Then $sInfo &= '@error = ' & @error
$sInfo &= @CRLF & @CRLF
$sInfo &= '+>' & @TAB & 'ObjName($oObj,7) {IID de l'interface de l'objet} =' & @CRLF & @TAB & ObjName($oObj, $OBJ_IID)
If @error Then $sInfo &= '@error = ' & @error
$sInfo &= @CRLF & @CRLF
MsgBox($MB_SYSTEMMODAL, "ObjName:", $sInfo)
EndFunc ;==>ObjName_FlagsValue