-
Notifications
You must be signed in to change notification settings - Fork 844
COM Record field assignment using type information and multidim SAFEARRAYs as field values #2655
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
base: main
Are you sure you want to change the base?
Conversation
…Y(double) Create SAFEARRAY(double) from a sequence of PyFloat objects instead of SAFEARRAY(VARIANT(RT_8)). The implementation builds multidimensional SAFEARRAYs from nested sequences. The creation of SAFEARRAY(VT_RECORD) was improved to also allow nested sequences.
@Avasam I had to retarget the Visual Studio project of PyCOMTest for the build tools v143 with a wild card for "the latest" installed Win SDK version because the build did fail, complaining that:
|
I don't mind the retargeting and bumping the platform toolset to v143 (Visual Studio 2022) makes sense. I probably missed that somewhere in the recent CI migration to As for the rest of the PR, I am not qualified to review that / it is past my areas of expertise, so 🤷 Leaving to @mhammond |
Resolve an inefficiency
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks - I'm going to need more time to look at this thoroughly, but some initial thoughts...
9077722
to
6617885
Compare
After reviewing the code path for the assignment of values to Record fields, I think the problem is that it was wrong from the beginning. When I implemented the creation of SAFEARRAY(VT_RECORD) from a sequence of COM Records #2317, I followed the existing code path into Obviously IDL files in the field could contain The culprit is the I think I have now reverted my changes in To fulfill the type requirements defined in an IDL file for the @mhammond Please let me know if you agree with this in general. |
This PR implements:
These do also cover a test case as requested in Bugfix for COM Record instance creation. #2641 (review).