-
-
Notifications
You must be signed in to change notification settings - Fork 203
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
com_dotnet extension: basic implementation (barely working) #845
base: master
Are you sure you want to change the base?
Conversation
We should find a way to run the test only on Windows with specific extension activated? Not sure how to do this... |
for now, at the beginning you can do something like if (PHP_OS != "WINNT") exit("***SKIP***"); The test will be marked as skipped |
On the PeachPie side, should I add a test in the COM constructor (and in the function) where I test that we are on Windows and throw an |
@Indigo744 I wouldn't check for Windows platform, what if it gets supported by .NET in the future (through magic) .. I guess .NET throws something anyways now |
Noted @jakubmisek However, I'm not sure I'll be able to push this implementation further in the short term. Would it be acceptable to merge it "as is"? Some stuff are working, so it would be better than nothing for people needing this. How could we warn about what is missing? |
I guess tests :) and also before the release, we are generating the compatibility matrix on https://docs.peachpie.io/compatibility-status/ which you can generate for yourself at https://github.com/peachpiecompiler/peachpie-docs/tree/master/tools (it creates list of functions/classes in all loaded extensions - for PHP and PeachPie - and compares them) |
I was able to generate a new updated list, but the com_dotnet extension sits at |
you have to add a package/project reference into |
@jakubmisek I was missing the lib from the local Nuget packages! Updating the script fixes this issue. However, now I have the following error:
I guess it doesn't know how to handle the |
@Indigo744 this is because PHP reflection tries to deal with the following constant: const BindingFlags MemberAccessCom which should not be visible to PHP code at all. Annotate the constant with EDIT: it should be |
|
@Indigo744 sorry, |
Do you want me to modify it further, or is it good enough for now? |
the attribute is ok for now |
Hi @Indigo744 - can I help with this somehow? :) |
Hey @jakubmisek! Sorry for not getting back. I am swamped in work right now 😞 so as you could see I wasn't able to contribute as much as I could. However note that this PR could be merged as is. Some stuff are working. The rest could be done later. As you wish 😸 |
@Indigo744 just checking :) would be great to have a list of feature that are not implemented so we would have an overview. I'd be happy to implement whats missing eventually, and merge the PR |
I've outlined in the PR description what is defined/what is missing. An exact list is available in the docs PR: peachpiecompiler/peachpie-docs#5. |
@jakubmisek Hello! Wow can't believe it's already 3 years later. Time flies! Should we try merging it? I can clean up/fix conflicts. |
that would be awesome :) |
Implements #834
I started to work on a basic implementation on extension
com_dotnet
What works:
What is missing:
Almost everything...! But the main work would revolve around implementing the Variant class so the COM class could inherit from it. Also this class would be used for handling complex COM object which is not working at all right now.
What should not be supported: