Re: [VB6] Modern Shell Interface Type Library - oleexp.tlb
Quote:
Originally Posted by
fafalone
VanGoghGaming is doing that with WinRT, e.g.
here..
Though I'm sure you'll be horrified that like oleexp.tlb the WinRT TLB is also several MB.
Now there are many new nuget components, and their functions are becoming more and more complex. Winui3, winrt, many different UI technologies. Direct 9.tlb has too many functions, and the whole file is very large, which is one aspect.
In addition, the design is only to speed up the construction period and complete the tasks assigned by the leaders. It will become like ie, which is designed to be more and more difficult to use.
Even if they can make it as simple as a ActiveX Excel. Exe call.But this has nothing to do with him. They just want to finish the task at work, get a little more bonus, and work more easily.
Matthew Curland's core identity is the technical specialist of the VB6 domain, not the developer of the underlying API of the system. Focus on the core technology like this and make it easier to use. Now the number of such people has decreased by 95%.
And you are one of those rare masters. It should be almost impossible to make much money from this aspect, and it is impossible to make money from writing books now.
Your efforts in this industry are 10,000 times the average of all people.It's hard to imagine what you can do to keep going.
For example, when I encountered a dot dot net com DLL, the exported enumeration member name was forced to be prefixed with the object name, and as a result, the code became longer. This kind of mistake should not happen at Microsoft. But no one will change it in another 20 years.
Using the tlbeditor tool, you can modify member names directly. This is very amazing. With the blessing of AI, I searched for two days, but he didn't give me the right answer.Finally, a friend told me that there was such a tool.
And then use your oleexp. TLB,ITypeLib2.SaveChanges
Maybe we can load a TLB file and change member names or data types with a few lines of code. Parameter name and parameter type of the function interface. . Modify The value of a constant variable.
My idea is to encapsulate many of net's class libraries into common TLB.
For example, JSON components, multithreading, databases, LINQ
epplus.dll,npoi.dll
In fact, the main core problem is that many of its data types are not supported by VB6.But if twin basic extends these data types. Maybe half of the net nuget package DLLs can be called directly, even across platforms, on mobile phones.
Why is Python the number one scripting language in the world? java,node.js
What they have in common is that you can directly call thousands of ready-made functions to achieve powerful functions.
Of course, because there are more features, pure use of TLB may not be enough.
Oleexp, you've written a lot of modules and some function wrappers before.
Re: [VB6] Modern Shell Interface Type Library - oleexp.tlb
HRESULT _stdcall add_FrameNavigationStarting(
[in] ICoreWebView2NavigationStartingEventHandler* eventHandler,
[out] EventRegistrationToken* token);
HRESULT _stdcall add_FrameNavigationCompleted(
[in] ICoreWebView2NavigationCompletedEventHandler* eventHandler,
it's error,need use frame events
err3:
interface ICoreWebView2Frame : IUnknown {
[propget]
HRESULT _stdcall Name([out, retval] long* Name);
can't get framename:
Re: [VB6] Modern Shell Interface Type Library - oleexp.tlb
sender oleexp.ICoreWebView2Frame
sender.framename is long,can change to bstr(string)?
args ICoreWebView2NavigationStartingEventArgs/ICoreWebView2NavigationStartingEventArgs
args.URI to bstr?
ICoreWebView2NavigationStartingEventHandler
sender .ICoreWebView2
maybe .Source can use string type,not long
GetBstr(webA.Source)
Function GetBstr(ByVal lPtr As Long, Optional ByVal fFree As Boolean = True) As String 'GOOD
SysReAllocString VarPtr(GetBstr), lPtr
If fFree Then
Call CoTaskMemFree(lPtr)
End If
End Function
so i can use string url,without SysReAllocString/CoTaskMemFree
Re: [VB6] Modern Shell Interface Type Library - oleexp.tlb
No. It's an LPWSTR so it won't produce a valid BSTR because it lacks a length prefix.
Re: [VB6] Modern Shell Interface Type Library - oleexp.tlb
Sorry to butt in *offtopic* to ask fafalone to PM me about getting "Linked Packages" working. Please, and pretty please, for my open-sourced IngrID+MMO
Re: [VB6] Modern Shell Interface Type Library - oleexp.tlb
Quote:
Originally Posted by
fafalone
No. It's an LPWSTR so it won't produce a valid BSTR because it lacks a length prefix.
ok,i need CoTaskMemFree every times?
Re: [VB6] Modern Shell Interface Type Library - oleexp.tlb
Quote:
Originally Posted by
jimekais
Sorry to butt in *offtopic* to ask fafalone to PM me about getting "Linked Packages" working. Please, and pretty please, for my open-sourced IngrID+MMO
Assuming you mean for twinBASIC,
References-Available packages
Check package name, then uncheck Embed.
After doing that in any project it will be available to all projects linked to it.