Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

VARIANT / parameter handling #9

Open
maul-esel opened this issue Mar 16, 2012 · 0 comments
Open

VARIANT / parameter handling #9

maul-esel opened this issue Mar 16, 2012 · 0 comments
Milestone

Comments

@maul-esel
Copy link
Owner

Related to #5.

Change the way parameters are handled so they don't need to be explicitly typed. Instead, use ITypeInfo to retrieve the expected VT.

Concept:

id = ITypeInfo->GetIDsOfNames(name)
index = ITypeInfo2->GetFuncIndexOfMemId(id)
func = ITypeInfo->GetFuncDesc(index)
for (i = 0; i < func->cParams; i++)
{
    vt = func->lprgelemdescParam[i]->tdesc->vt
    VariantChangeType(var, var, vt)
}
ITypeInfo->ReleaseFuncDesc(func)

Also check out how AHK does this internally.

maul-esel pushed a commit that referenced this issue Mar 27, 2012
maul-esel pushed a commit that referenced this issue Apr 2, 2012
…ling

Interface wrappers can now directly be passed as parameters and are translated to VT_UNKNOWN.
The same *should* work for structures, but it doesn't.
maul-esel pushed a commit that referenced this issue Apr 3, 2012
* put it into a new function
* make it work more generic
* retrieve FUNCDESC, ELEMDESC & TYPEDESC for param in ITL_InterfaceWrapper.__Set(), too
* call the new function from both  and __Set()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant