问题标签 [fpc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - 使用 FPC 在 iOS 上编程
请告诉我,我在哪里可以获得有关使用 FPC 在 iOS 上进行开发的信息?我不是指 Firemonkey iOS 应用程序。如何使用 FPC 访问 iPhone 环境?例如 GPS 或加速度计等。我使用 RAD Studio XE2 和带雪豹的虚拟机。例如
我没有如何使用它的经验。我只知道如何使用 Objective-C,但我需要这个。
iphone - 使用 FPC 在 iPhone 上开发
请告诉我在哪里可以获得 iPhoneAll.pas 文件?另外你能告诉我在哪里可以找到关于如何使用 FPC 在 iPhone 上开发、使用 iPhone API 的信息吗?我找到了几个网站,但还不够。例如:
第一个例子是第二个例子的Pascal实现。我找不到任何信息如何将第二个示例更改为 Pascal 实现,我只是尝试猜测我可以在代码中更改的位置和内容以在 iPhone 上运行它)))但是这需要很多时间
android - MIPS 上的 Android 版免费 Pascal
试图将 Delphi 库移植到 Android。Free Pascal 支持 Android/ARM - 提供适用于 Windows 的预构建编译器。但是,Android NDK 现在也支持 MIPS 和 x86。FPC 的支持情况如何?目前,我的项目或多或少与 CPU 无关 - 本机位是为所有四种支持的架构构建的。不想放手。
我不是在 Pascal 中完成整个 Android 开发周期——只是一个没有 I/O 的算法库。我尝试使用 p2c 将其翻译成 C,但翻译器对源代码感到窒息。
我是否应该尝试使用 Linux 为相关 CPU 构建交叉编译器,然后链接到 NDK 库?
编辑:我已经从 Android 分支的源代码为 Intel/Linux 构建了交叉编译器。它可以工作,除非您必须调用ppcross386
才能编译,而不是fpc
. 后者似乎忽略了 -Tlinux 选项并调用了 Intel/Win32 编译器。
EDIT2:对 makefile 和源代码稍作改动,即可构建 MIPS 交叉编译器。然而,随着构建移动到跨 CPU RTL,它几乎立即出错。
delphi - FPC 中的范围单元名称
是否可以将具有范围名称的 Delphi 单元移植MyLib.Classes.pas
到 FPC (ver 2.6.0) 而不重命名它以删除范围前缀MyLib.
?
serial-port - Windows CE 编程串行端口 - 得到乱码输出
我正在对 Windows CE 6 设备(摩托罗拉 MC3100 扫描仪终端)进行编程。使用 Lazarus FPC 编译。
经过 3 周的工作,我不情愿地在这里发帖,希望有人能建议我为什么从串行端口得到乱码输出。
我正在使用的代码发布在下面。这是我从几个地方找到的标准代码。
OpenPort 工作正常。
当我使用 SendString('ABCDEF') 发送字符串时,PC 串行端口的输入出现乱码,例如:
4[#131][#26][#0][#0][#0][#0](括号内的数据表示是不可打印字符ASCII码)
显然它正在连接到端口 OK 并且它正在发送正确的字符数 (7)。
我已经尝试了波特率、数据位、奇偶校验和停止位的所有组合,没有任何乐趣。还尝试在不同的 PC 上更换电缆等。
难道我需要在 DCB 中设置其他东西?
任何帮助或建议将不胜感激。
gdb - 为什么 gdb 认为我的 x86-64 程序是 i386?
我正在尝试调试 64 位程序,但 gdb 似乎认为它具有 i386 架构。
注意警告:
接着:
在 gdb 中,如果我键入“设置架构”并点击选项卡,我会看到以下内容:
我的问题是:为什么 gdb 认为我的文件具有 i386 架构,即使它显然是 x86-64 二进制文件,我该怎么做才能修复它?
我的程序是使用FreePascal版本 2.6.0 编译的。
更新:在我的 Ubuntu 12.04 机器(使用 3.2.0-31 内核)上使用相同的 gdb 二进制文件和相同的 freepascal 二进制文件时,我没有收到任何警告。我尝试调试的服务器正在运行 2.6.34.10-24 内核。内核或服务器上的某些配置是否错误会影响 gdb?
database - Lazarus Pascal / Delphi - 连接到数据库时出错
我正在尝试使用 Lazarus pascal 连接到我的 postgresql 数据库。我在编译结束时收到此错误(F9)。
mainform.pas(112,35) 错误:为调用“创建”指定的参数数量错误
这是我的代码:
我真的很想弄清楚这个问题......请提供任何帮助......
上面的代码改编自这里。
pascal - 在 Pascal 文件中组织程序的标准做法是什么?
我想知道如何在 Pascal 中组织源文件树。从 FPC 的语言参考指南来看,程序和单元似乎必须完全包含在单个文件中(除非${INCLUDE}
使用该指令)。
我可以想到几种组织程序的方法:
- 将所有内容都放在一个大文件中(真的不喜欢那样),
- 写几个大的单元文件,
- 编写许多小单元文件(可能会变成依赖项的意大利面),
- 编写几个大单元,但使用将它们拆分为文件
${INCLUDE}
使用${INCLUDE}
对我来说似乎有点像黑客,因为适当的模块系统应该使它变得不必要。另一方面,我担心单文件模块会变得大到笨重。
这在实际项目中通常是如何完成的?有什么我错过的选择吗?
delphi - 如何使用引用泛型类型的复杂类型
考虑以下类型
我想让 TRec 成为通用参数。问题是我需要放在课程范围之外。因为像
不可能。
将 PRecs 作为参数也不是一种选择,因为在我的实际对象中有与 TRec 相关的代码。
现代 Object Pascal 中有解决方案吗?如果没有,只是好奇是否有任何其他支持泛型的语言可以解决这样的问题?
winapi - 帕斯卡中的 System() 函数?
我需要 Pascal 程序中的 C++ 函数“System()”的功能。有没有可能使用它或类似的方法?
比如我想模仿C++函数: