使用Delphi XE10开发Linux

2020-08-26

花了一些时间来测试Delphi开发Linux程序,简单总结一下,这些也是花时间走了弯路才明白的。

关于支持的Linux系统

根据官方介绍,Delphi开发Linux的程序,支持这些系统:Ubuntu 18.04 LTS,Ubuntu 16.04 LTS,Ubuntu 14.04 LTS和RedHat Enterprise Linux(版本7),不信?自己去查官方说明。官方介绍没说能支持Debian , CentOS ,通常也就当做他不支持(当然,他也没说就一定不支持)。所以,但总会遇到一些不听话的坏孩子,就象我这样的,倒腾倒腾虚拟机,发现其实Debian , CentOS也是可以支持。
一般来说著名的 Linux 系统基本上分两大类:
RedHat 系列:Redhat、Centos、Fedora 等
Debian 系列:Debian、Ubuntu 等,
所以,官方说支持Ubuntu 、RedHat ,其他类似同系列的应该是基本都支持的。

Linux系统的选择

个人感觉,在使用与安装上:Ubuntu 安装与操作更为人性化,简单易用;CentOS 的安装略微复杂一些,仅选择安装版本都很多种,操作使用上的方便度不如Ubuntu。当然,已习惯使用Linux的朋友感觉会不同。
在使用选择上,可以根据自己的情况去选择。需要注意的是不能使用32位的系统。

Ubuntu 18.04 LTS安装

IOS文件下载地址:http://mirrors.163.com/ubuntu-releases/18.04/ubuntu-18.04.4-desktop-amd64.iso

注:
http://mirrors.163.com/有各种Linux版本的下载,下载速度也很快。
具体安装过程,请移步:Ubuntu 18.04LTS的安装与安装中文语言了解。

建议不要选择使用虚拟机提供的“简易安装”,就是下面这步时,不要选择IOS路径:
在这里插入图片描述
这里选择“稍后安装操作系统”,建好虚拟机后,再编辑虚拟机中加上IOS路径,这样安装可以一次性选择使用中文环境,省去了很多的麻烦。

Ubuntu 18.04 LTS Demo效果

在这里插入图片描述

CentOS 7 Demo效果

在这里插入图片描述
两个Demo,都是Delphi系统自带的演示Demo,看上去各控件运行都很不错的。

关于FMXLinux

官方介绍,可以 Tools > GetIt Package Manager 使用GetIt 去下载,就下面这个:
在这里插入图片描述
在GetIt 里查询fmxlinux,然后下载,比较遗憾的是,我在这里总也下载不了。后来去了https://www.fmxlinux.com,下载的最新版本:1.46,安装成功,运行delphi提示FmuxLib.dll入口函数找不到,因为我还使用的是D10.3.1,而fmxlinux1.46已支持D10.4了,当然他同时也支持10.3,可能是我10.3.1的版本太低,所以没法使用。后来去网上找了一个旧的版本,1.41,安装成功,可以正常使用。
当然,10.4已整合fmxlinux,所以不用考虑这一点。

关于Paserver

把 LinuxPAServer20.0.tar.gz 文件复制到linux去,解压就可以。复制的方式很多,我感觉最简单的就是在开发机上共享一个目录,Linux访问后直接复制。以命令行方式运行这个程序。运行后,在开发机telnet一下64211端口是否连通,如果没有连通,可能是系统防火墙阻止了端口,需要分别运行一下后面两条命令(第一条是开放通讯端口,第二条是重启防火墙服务):

firewall-cmd --permanent --add-port=64211/tcpsystemctl restart firewalld
  • 1

  • 2

这在CentOS中可能是需要使用到的。

关于Linux的SDK

Delphi里,可以建立并管理多个SDK的:
在这里插入图片描述
我测试使用CentOS的SDK编译的程序,复制到Ubuntu 18.04 LTS中可以正常运行。使用Ubuntu 的SDK编译后,在CentOS中也是可以正常运行的。
我使用复制文件方式时,在CentOS中程序没有执行权限,不能直接运行,需要chmod 777 <程序名>修改一下程序的权限。(直接编译运行没有这个情况)。

编译运行或调试时,选择不同虚拟机的连接,可以分别在不同系统中运行与调试。

阅读1504