代码之家  ›  专栏  ›  技术社区  ›  davek

你有VB6的推包编程用法的例子吗?

vb6
  •  5
  • davek  · 技术社区  · 16 年前

    VB6以过于宽容(从而允许不良做法)和隐藏复杂性而闻名,也许开发人员最好了解这些复杂性。但我发现,比方说,90%的应用程序都可以用VB6完成。

    Net。

    7 回复  |  直到 16 年前
        1
  •  5
  •   MarkJ    16 年前

    乔尔说 some good stuff 大约在2001年的VB6。

    而且是一次性的,或者是因为他们 由黑客程序员编写,无需 面向对象培训 编程,甚至结构化

    我想知道的是,如果 你会选择顶尖的C++程序员 在指针中做梦,让它们编码 是他们变得超级高效 很好,它是面向对象的,很健壮, 但你不会浪费时间使用工具 需要。我花了很多年的时间写代码 VisualBasic,让我告诉你,VB6 只是生产效率要高很多。。。

    关于VisualBasic6的一件事 就是它并不总是给你 获得全部节目表 精美的应用。但它是什么 编程环境,是让你 删除C++代码(或调用C API) 额外的速度。

    这是在2001年写的:当今天创建一个新的Windows程序时,我认为最好的生产率的明显选择是VB.Net或C#( 笑话: just Visual Basic with semicolons .)

    回到VB6:有很多很好的例子说明了如何调用C API来做一些特殊的事情或只是为了更快地运行。以下是我最喜欢的一些链接:

        2
  •  6
  •   Pavel Minaev    16 年前

    CallWindowProc 通过向任意代码传递指针来调用任意代码。这在技术上破坏了该函数的约定,因为它只能与通过 GetWindowLong ; 但实际上很少有人真正知道这一点,以至于实现被迫允许任意代码指针。这允许您调用任何函数指针,只要它是 stdcall ,并接受与相同大小的4个参数 WndProc

    上面提到的一个更糟糕的技巧是,您可以通过这种方式动态生成代码——只需将代码粘贴在字节数组中,并使用 跳过去。通过这种方式,您可以将非VB6生成的本机代码嵌入到VB6应用程序中,而无需任何外部DLL。当然,在这个默认启用NX位的时代,这可能不再是一个好主意(如果曾经是的话,也就是说)。。。

        3
  •  4
  •   onedaywhen    16 年前

    我不知道他在三明治里放了什么,但几乎所有的东西都在里面 Matthew Curland's Advanced Visual Basic 6 是VB6的推包编程用法。真正伟大的东西。

        4
  •  3
  •   AakashM    16 年前

    如果没有提及Bruce McKinney的硬核Visual Basic的答案,这个问题就无法解决,该Visual Basic现在(非常好地)在线提供:

    http://vb.mvps.org/hcvb.asp

        5
  •  2
  •   RS Conley    16 年前

    认识到大多数“四人帮”设计模式依赖于实现接口,而不是继承,因此可以在Visual BASIC 6中轻松使用。

        6
  •  1
  •   AngryHacker    16 年前
        7
  •  0
  •   Luis Lobo Borobia    16 年前

    Paul Caton的子类化,由LaVolpe继续( http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=68737 有了它,您可以在Windows中实现任何必要的功能。