Replies: 3 comments 3 replies
-
For the uninitiated, could you give some examples of the problematic interfaces? |
Beta Was this translation helpful? Give feedback.
-
I've managed to use a little of WinRT APIs in VB6 (mostly just a winrt messagebox for testing purposes), but i had to manually dig through lots of IDL files i've found on github I think the "legit" way to bind them would be to make a IDL compiler that compiles IDL files using MIDL 3.0 into a TLB or some similar format (i think the MIDL compiler doesn't compile MIDL 3.0 to a TLB) that TB can read, so that it can generate bindings to those objects from the IDL files , which is actually how microsoft does the bindings to winrt objects for C++,C#,javascript and VB.NET. They are all generated from IDL files using the MIDL compiler Also the way WinRT objects are created is different, we usually need to use functions like RoActivateInstance or RoGetActivationFactory |
Beta Was this translation helpful? Give feedback.
-
It's not a complete enough library to be used for anything, but here's what I was starting with trying to make an app to show those modern flyout notifications ("Toast notifications"). |
Beta Was this translation helpful? Give feedback.
-
Microsoft seems to be essentially deprecating the regular Windows API VBx/tB programmers have always relied on for most non-trivial programs.
Virtually every new feature is locked behind Windows RT now. I think it's worth exploring a way for tB to access these classes. It's currently possible to use some of it through extremely unfriendly vtable calling; I've looked into defining the interfaces as traditional COM but some of them it seems it just isn't possible, and all of them are so incredibly obfuscated I couldn't get any practical coverage in a reasonable time. Obviously external DLLs are a solution. C linkage is another potential solution (though that's still difficult, C++ at least would be needed to be practical). But then why not just develop in that other language?
How possible is it to bind with these classes in an automatic way without needing to hand-rewrite tens of thousands of classes that take at least 30-60min each?
Beta Was this translation helpful? Give feedback.
All reactions