> No multi-threading That isn’t quite correct, because you can take the address of a VB6 procedure and pass it to win32 CreateThread. See the related chapter in Hardcore Visual Basic for example. And of course you can use win32 mutexes and such. Thanks to the win32 interoperability, there aren’t a lot of limits of what you can do in VB6.
…Basic and then VBA when all the office apps standardized on it instead of each having their own flavor. VB was great like you said until you needed to do something difficult. I remember Bruce McKinny’s Hardcore Visual Basic book being my best friend for a little while. It thought me I could do the hard stuff in C, make a DLL and drop that into my VB project. Bruce had a saying, VB makes 95% of the job easy and the other…
……所以子类里的每个方法你都得写些样板代码去调用父类。顺便提一句,早在 VB6 刚出来那会儿我读过一本特别神作的书。叫《Hardcore Visual Basic》,讲的就是怎么在 VB 里实现那些传说中不可能完成的事。比如使用未公开的 VarPtr 函数、调用 Windows API 等等。这书绝版了(显然),不过可以在网上看到:http://vb.mvps.org/hardweb/…
…So for every method in your child class you have to write some boilerplate to make a call to the parent. As a side note, there was a really awesome book I read back when VB6 was still new. It's called Hardcore Visual Basic, and it is about how to do things that were said to be impossible in VB. Using the undocumented VarPtr functions, calling Windows API, etc. It is out of print (obviously), but available online at http://vb.mvps.org/hardweb/…
I was going to make a reference to "Hardcore Visual Basic" but you beat me to it. Fantastic book, it's hard to find a tech book that is that useful and fun at the same time. My first job started out with mostly Visual Basic 6. One of the modules written in…
…could run stuff asynchronously using a hidden window. Basically you could use the full win32 API and use VB procedures as callbacks (e.g. as window procedures for your own window subclass). The book “Hardcore Visual Basic” explained how to do it: https://classicvb.net/hardweb/hardbook.htm
哈哈,你那种在 BASIC 上撞了墙转而另寻出路的故事,让我想起了自己当初是怎么决定学 C 的:那时我已经“精通”了 QBASIC,正在学 Visual Basic,于是我爸给我买了本叫《Hardcore Visual Basic》的书。那本书大篇幅地探讨了如何让 Visual Basic 与原生 Windows API 交互以实现各种骚操作。几乎每一章的开头都是“这事儿用 C 语言写要简单得多,但咱们这里要讲的是如何在……”
Haha, your story about hitting a wall with BASIC only to go somewhere else reminds me of how I decided to learn C: I had "mastered" QBASIC and was learning Visual Basic, so my dad bought me a book called "Hardcore Visual Basic". That book discussed extensively how to get Visual Basic to interact with the native Windows API for fun and profit. Pretty much every chapter began with "this is so much easier in C, but here's how…
> 无多线程 这话并不太对,因为你可以获取 VB6 过程的地址,并把它传给 win32 的 CreateThread。比如可以看看《Hardcore Visual Basic》里的相关章节。当然你也可以使用 win32 mutex 之类的东西。得益于 win32 互操作性,在 VB6 里你能做的事并没有那么多限制。
> No multi-threading That isn’t quite correct, because you can take the address of a VB6 procedure and pass it to win32 CreateThread. See the related chapter in Hardcore Visual Basic for example. And of course you can use win32 mutexes and such. Thanks to the win32 interoperability, there aren’t a lot of limits of what you can do in VB6.
……Basic,后来当所有 office 软件都标准化采用 VBA、不再各自为政时,我又转去写 VBA。正如你所说,VB 很棒,直到你需要做一些棘手的事情。我记得布鲁斯·麦金尼(Bruce McKinney)的那本《Hardcore Visual Basic》曾短暂地成为我最好的朋友。它教会了我可以用 C 语言搞定难啃的骨头,做成 DLL 然后扔进我的 VB 项目里。布鲁斯有句名言:VB 能轻松搞定 95% 的活儿,而剩下的……
…Basic and then VBA when all the office apps standardized on it instead of each having their own flavor. VB was great like you said until you needed to do something difficult. I remember Bruce McKinny’s Hardcore Visual Basic book being my best friend for a little while. It thought me I could do the hard stuff in C, make a DLL and drop that into my VB project. Bruce had a saying, VB makes 95% of the job easy and the other…
……所以子类里的每个方法你都得写些样板代码去调用父类。顺便提一句,早在 VB6 刚出来那会儿我读过一本特别神作的书。叫《Hardcore Visual Basic》,讲的就是怎么在 VB 里实现那些传说中不可能完成的事。比如使用未公开的 VarPtr 函数、调用 Windows API 等等。这书绝版了(显然),不过可以在网上看到:http://vb.mvps.org/hardweb/…
…So for every method in your child class you have to write some boilerplate to make a call to the parent. As a side note, there was a really awesome book I read back when VB6 was still new. It's called Hardcore Visual Basic, and it is about how to do things that were said to be impossible in VB. Using the undocumented VarPtr functions, calling Windows API, etc. It is out of print (obviously), but available online at http://vb.mvps.org/hardweb/…
我本来也打算提一下《Hardcore Visual Basic》的,结果被你抢先了。非常棒的一本书,很难找到一本既实用又同时这么有趣的技术书。我的第一份工作一开始主要就是用 Visual Basic 6。其中一个模块是用……
I was going to make a reference to "Hardcore Visual Basic" but you beat me to it. Fantastic book, it's hard to find a tech book that is that useful and fun at the same time. My first job started out with mostly Visual Basic 6. One of the modules written in…
……可以利用隐藏窗口异步运行任务。基本上你可以使用完整的 win32 API,并把 VB 过程用作回调(例如作为你自定义窗口子类化的窗口过程)。《Hardcore Visual Basic》这本书讲解了具体做法:https://classicvb.net/hardweb/hardbook.htm
…could run stuff asynchronously using a hidden window. Basically you could use the full win32 API and use VB procedures as callbacks (e.g. as window procedures for your own window subclass). The book “Hardcore Visual Basic” explained how to do it: https://classicvb.net/hardweb/hardbook.htm
哈哈,你那种在 BASIC 上撞了墙转而另寻出路的故事,让我想起了自己当初是怎么决定学 C 的:那时我已经“精通”了 QBASIC,正在学 Visual Basic,于是我爸给我买了本叫《Hardcore Visual Basic》的书。那本书大篇幅地探讨了如何让 Visual Basic 与原生 Windows API 交互以实现各种骚操作。几乎每一章的开头都是“这事儿用 C 语言写要简单得多,但咱们这里要讲的是如何在……”
Haha, your story about hitting a wall with BASIC only to go somewhere else reminds me of how I decided to learn C: I had "mastered" QBASIC and was learning Visual Basic, so my dad bought me a book called "Hardcore Visual Basic". That book discussed extensively how to get Visual Basic to interact with the native Windows API for fun and profit. Pretty much every chapter began with "this is so much easier in C, but here's how…