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

相关文章

windows和Linux使用命令行计算文件的MD5值

《windows和Linux使用命令行计算文件的MD5值》在Windows和Linux系统中,您可以使用命令行(终端或命令提示符)来计算文件的MD5值,文章介绍了在Windows和Linux/macO... 目录在Windows上:在linux或MACOS上:总结在Windows上:可以使用certuti

Linux之systemV共享内存方式

《Linux之systemV共享内存方式》:本文主要介绍Linux之systemV共享内存方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、工作原理二、系统调用接口1、申请共享内存(一)key的获取(二)共享内存的申请2、将共享内存段连接到进程地址空间3、将

快速修复一个Panic的Linux内核的技巧

《快速修复一个Panic的Linux内核的技巧》Linux系统中运行了不当的mkinitcpio操作导致内核文件不能正常工作,重启的时候,内核启动中止于Panic状态,该怎么解决这个问题呢?下面我们就... 感谢China编程(www.chinasem.cn)网友 鸢一雨音 的投稿写这篇文章是有原因的。为了配置完

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

Linux命令之firewalld的用法

《Linux命令之firewalld的用法》:本文主要介绍Linux命令之firewalld的用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux命令之firewalld1、程序包2、启动firewalld3、配置文件4、firewalld规则定义的九大

Linux之计划任务和调度命令at/cron详解

《Linux之计划任务和调度命令at/cron详解》:本文主要介绍Linux之计划任务和调度命令at/cron的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux计划任务和调度命令at/cron一、计划任务二、命令{at}介绍三、命令语法及功能 :at

Linux下如何使用C++获取硬件信息

《Linux下如何使用C++获取硬件信息》这篇文章主要为大家详细介绍了如何使用C++实现获取CPU,主板,磁盘,BIOS信息等硬件信息,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录方法获取CPU信息:读取"/proc/cpuinfo"文件获取磁盘信息:读取"/proc/diskstats"文

Linux内核参数配置与验证详细指南

《Linux内核参数配置与验证详细指南》在Linux系统运维和性能优化中,内核参数(sysctl)的配置至关重要,本文主要来聊聊如何配置与验证这些Linux内核参数,希望对大家有一定的帮助... 目录1. 引言2. 内核参数的作用3. 如何设置内核参数3.1 临时设置(重启失效)3.2 永久设置(重启仍生效

kali linux 无法登录root的问题及解决方法

《kalilinux无法登录root的问题及解决方法》:本文主要介绍kalilinux无法登录root的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录kali linux 无法登录root1、问题描述1.1、本地登录root1.2、ssh远程登录root2、

使用Python开发一个带EPUB转换功能的Markdown编辑器

《使用Python开发一个带EPUB转换功能的Markdown编辑器》Markdown因其简单易用和强大的格式支持,成为了写作者、开发者及内容创作者的首选格式,本文将通过Python开发一个Markd... 目录应用概览代码结构与核心组件1. 初始化与布局 (__init__)2. 工具栏 (setup_t