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

将win32 VCL应用程序升级到跨平台

  •  4
  • UnDiUdin  · 技术社区  · 14 年前

    Delphi2011将允许编译同样在MacOS上运行的应用程序(注意:我在DelphiXePreview发布之前写了这句话,当时每个人都在谈论ProjectX)。

    第三方组件供应商会让他们的库跨平台吗?或者这实际上是不可能的?

    我使用以下第三方组件:

    devexpress-用户界面

    德瓦特-DAC

    报表生成器-UI

    Steema/TeeChart-用户界面

    4 回复  |  直到 14 年前
        1
  •  4
  •   user160694 user160694    14 年前

    xplatfrom框架将是(据我们所知)类似于一个修改过的(希望得到很大改进的)CLX,一个在Kylix中使用的基于Qt的库。VCL是一个非常面向Windows的库(这很好),它依赖于许多Windows特有的特性。因此,要使跨平台组件与VCL对应的组件高度兼容(如果不是不可能或有意义的话)一点也不容易。

        2
  •  3
  •   Mohammed Nasman    14 年前

    好吧,Delphi2011目前正处于私人测试阶段,很少有值得信任的人知道这一点。

    所以直到8月下旬我想我们都不会看到它在起作用。然而,我听说新的跨平台应用程序被称为UCL应用程序,而不是VCL应用程序。

    大多数Delphi软件使用windows特定的函数,例如 ShellExecute MessageBox ,从导入的函数 advapi , kernel32 etc和其他平台上不可用的函数,因为它们有自己的库。

    但是我希望这个功能可以在新的跨平台库中使用,如果不是这样的话,那将是一个巨大的失败。

        3
  •  3
  •   Jan Goyvaerts    14 年前

    德尔福2011出炉了,它叫德尔福XE。它只支持32位Windows,就像以前版本的Delphi一样。64位、OS X和Linux仍保留在 roadmap

    在Delphi真正支持跨平台Windows和osx之前,很难说它有多容易实现。但是我们可以基于Kylix进行一些猜测,Kylix是Delphi的Linux停产版本。

    包括我在内的一些人所做的就是在Windows上使用VCL,在Linux上使用CLX。这使得事情变得更加困难,因为它需要两组表单,一个用于Windows,一个用于Linux。要成功地做到这一点,您必须从表单中分离出尽可能多的非可视代码。例如,您将TActionList放在应用程序上VCL和CLX版本共享的数据模块上,然后拥有单独的VCL和CLX版本的表单,该表单提供使用操作列表的工具栏等。如果您正在考虑将来支持多个平台,那么现在就可以准备将尽可能多的代码分离成不与表单绑定的单元。

        4
  •  1
  •   Charles Faiga    14 年前

    DELPHI-XE不允许您为MacOS编译应用程序

    embarcadero site .