|
-
Dec 4th, 2025, 05:47 PM
#481
Re: [VB6] Modern Shell Interface Type Library - oleexp.tlb
 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.
Last edited by xiaoyao; Dec 4th, 2025 at 05:59 PM.
-
Dec 29th, 2025, 01:31 AM
#482
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:
Last edited by xiaoyao; Dec 29th, 2025 at 07:18 AM.
-
Dec 29th, 2025, 01:32 AM
#483
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
Last edited by xiaoyao; Dec 29th, 2025 at 01:37 AM.
-
Dec 29th, 2025, 01:41 PM
#484
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.
-
Dec 29th, 2025, 06:05 PM
#485
New Member
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
-
Dec 30th, 2025, 02:06 AM
#486
Re: [VB6] Modern Shell Interface Type Library - oleexp.tlb
 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?
-
Dec 30th, 2025, 05:10 PM
#487
Re: [VB6] Modern Shell Interface Type Library - oleexp.tlb
 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.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|