Jump to content

Recommended Posts

Posted

...while you're checking, don't query object for IDispatch. Some objects may not have it, IStream for sure. What you should do is first check that variant is object (don't forget that) and then set that flag of yours based on VARIANT's vt:

bool bIsDispacth = vParams[0].oValue()->vt == VT_DISPATCH;
After that it's a simple as this:

//...
    else if (iFlag == OBJ_IID && bIsDispacth)
    {
        //..
    }
    //..
    
    LPVOID ppV;
    hr = pDisp->QueryInterface(IID_IProvideClassInfo, &ppV);
    if (SUCCEEDED(hr))
    {
        IProvideClassInfo* pProvideClassInfo = reinterpret_cast<IProvideClassInfo*>(ppV); // ppV is pointer to object of IProvideClassInfo interface
        hr = pProvideClassInfo->GetClassInfoW(&pTypeInfo);      // TypeInfo for IUnknown
        pProvideClassInfo->Release();
    }
    else if (bIsDispacth)
    {
        // Ok, so let's use the IDispatch interface to do what we want instead
        hr = pDisp->GetTypeInfo(0, LOCALE_SYSTEM_DEFAULT, &pTypeInfo);  // TypeInfo for IDispatch
    }
    else
    {
        this->SetFuncErrorCode(1);
        return AUT_OK;
    }
OBJ_IID is 7 at you.

♡♡♡

.

eMyvnE

Posted

Hello

 

I'm not an expert on Autoit but I think there is a problem with the _ArrayFindAll function

 

This script works on 3.3.10.2 and return 4

#include <Array.au3>


Local $avArray[5] = [0, 1, 2, 1, 0]
Local $aiResult = _ArrayFindAll($avArray, 0)
msgbox(4096,"",$aiResult[1])
But on 3.3.11.1 i have :

 

"e:UsersUSERDesktop_ArrayFindAll.au3" (5) : ==> Subscript used on non-accessible variable.:

msgbox(4096,"",$aiResult[1])

msgbox(4096,"",$aiResult^ ERROR

 

Thank you

 

Eric

Confirmed as fixed in v3.3.11.2.

UDF List:

 
_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_ArrayFilter/_ArrayReduce_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...