delphi D10.X开发Linux 知道这些少走弯路

2023-10-08 14:59

本文主要是介绍delphi D10.X开发Linux 知道这些少走弯路,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

花了一些时间来测试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/tcp
systemctl restart firewalld

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

关于Linux的SDK

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

编译运行或调试时,选择不同虚拟机的连接,可以分别在不同系统中运行与调试。
在这里插入图片描述

相关文章导读

各种Linux版本下载地址: http://mirrors.163.com/
《Ubuntu 18.04LTS的安装与安装中文语言》 介绍虚拟机安装Ubuntu 18.04LTS过程
点击上面标题后直接查看


 欢迎光顾本人小店:(https://shop63778938.taobao.com/) 小店也提供delphi方面其他技术支持、定制开发。   

现在就进店看看

大家有什么不清楚的,可以给我留言讨论

以上信息对您有用的话请点赞收藏,就下面这行

这篇关于delphi D10.X开发Linux 知道这些少走弯路的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/166098

相关文章

Python38个游戏开发库整理汇总

《Python38个游戏开发库整理汇总》文章介绍了多种Python游戏开发库,涵盖2D/3D游戏开发、多人游戏框架及视觉小说引擎,适合不同需求的开发者入门,强调跨平台支持与易用性,并鼓励读者交流反馈以... 目录PyGameCocos2dPySoyPyOgrepygletPanda3DBlenderFife

使用Python开发一个Ditto剪贴板数据导出工具

《使用Python开发一个Ditto剪贴板数据导出工具》在日常工作中,我们经常需要处理大量的剪贴板数据,下面将介绍如何使用Python的wxPython库开发一个图形化工具,实现从Ditto数据库中读... 目录前言运行结果项目需求分析技术选型核心功能实现1. Ditto数据库结构分析2. 数据库自动定位3

Linux线程同步/互斥过程详解

《Linux线程同步/互斥过程详解》文章讲解多线程并发访问导致竞态条件,需通过互斥锁、原子操作和条件变量实现线程安全与同步,分析死锁条件及避免方法,并介绍RAII封装技术提升资源管理效率... 目录01. 资源共享问题1.1 多线程并发访问1.2 临界区与临界资源1.3 锁的引入02. 多线程案例2.1 为

Django开发时如何避免频繁发送短信验证码(python图文代码)

《Django开发时如何避免频繁发送短信验证码(python图文代码)》Django开发时,为防止频繁发送验证码,后端需用Redis限制请求频率,结合管道技术提升效率,通过生产者消费者模式解耦业务逻辑... 目录避免频繁发送 验证码1. www.chinasem.cn避免频繁发送 验证码逻辑分析2. 避免频繁

Spring Boot集成/输出/日志级别控制/持久化开发实践

《SpringBoot集成/输出/日志级别控制/持久化开发实践》SpringBoot默认集成Logback,支持灵活日志级别配置(INFO/DEBUG等),输出包含时间戳、级别、类名等信息,并可通过... 目录一、日志概述1.1、Spring Boot日志简介1.2、日志框架与默认配置1.3、日志的核心作用

Oracle数据库定时备份脚本方式(Linux)

《Oracle数据库定时备份脚本方式(Linux)》文章介绍Oracle数据库自动备份方案,包含主机备份传输与备机解压导入流程,强调需提前全量删除原库数据避免报错,并需配置无密传输、定时任务及验证脚本... 目录说明主机脚本备机上自动导库脚本整个自动备份oracle数据库的过程(建议全程用root用户)总结

Linux如何查看文件权限的命令

《Linux如何查看文件权限的命令》Linux中使用ls-R命令递归查看指定目录及子目录下所有文件和文件夹的权限信息,以列表形式展示权限位、所有者、组等详细内容... 目录linux China编程查看文件权限命令输出结果示例这里是查看tomcat文件夹总结Linux 查看文件权限命令ls -l 文件或文件夹

idea的终端(Terminal)cmd的命令换成linux的命令详解

《idea的终端(Terminal)cmd的命令换成linux的命令详解》本文介绍IDEA配置Git的步骤:安装Git、修改终端设置并重启IDEA,强调顺序,作为个人经验分享,希望提供参考并支持脚本之... 目录一编程、设置前二、前置条件三、android设置四、设置后总结一、php设置前二、前置条件

PyQt5 GUI 开发的基础知识

《PyQt5GUI开发的基础知识》Qt是一个跨平台的C++图形用户界面开发框架,支持GUI和非GUI程序开发,本文介绍了使用PyQt5进行界面开发的基础知识,包括创建简单窗口、常用控件、窗口属性设... 目录简介第一个PyQt程序最常用的三个功能模块控件QPushButton(按钮)控件QLable(纯文本

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方