问题标签 [lazarus]
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.
delphi - Lazarus 应用程序中的启动画面问题
我正在将一个 Delphi 应用程序移植到 FPC/Lazarus,这个应用程序在闪屏中显示信息。当单元有初始化部分时,这个初始化部分会调用类似的东西:
这在 Delphi 中有效,但是当我使用 FPC/Lazarus 编译它时,当我使用启动屏幕创建表单时出现异常:
我发现,表单可以在Application.Initialize;
调用后创建,所以我的解决方法是在ScreenInfo.Initialized=true
. 它有效,但不显示所有信息。有没有办法从单元初始化部分显示启动形式,之前Application.Initialize;
?
delphi - 检查更新
我正在 Lazarus 开发一个应用程序,它需要检查每个Form_Create
.
我怎样才能做到这一点?
delphi - 在 TListView 上的目录中列出文件
我正在构建一个需要 on Form_Create
,填充TListView
被调用的程序FileList
,我想要填充的目录是编译程序的位置 + \Files
,因为我从未使用过TListView
我想知道如何做到这一点?
windows - 从 Windows 移植到 Linux
我有一个在 Windows 上用 Lazarus 编写的项目,但我想在我的 Windows 计算机上为 Linux 交叉编译它。我怎样才能做到这一点?
delphi - 从文件名中删除路径
我正在开发一个需要将文件名解析为TTextField
. 如何删除我已经知道的文件扩展名(或认为我可以这样做):
但是如何从中删除文件路径FName
?
syntax - 语法高亮是如何构建的?
我现在正在使用 Lazarus 构建一个开发人员编辑器,作为每个优秀的开发人员编辑器,它需要有语法高亮,因此我想知道一些事情:
- 语法高亮通常是如何构建的(使用许多
if
s 来更改 a 上的字体TextField
? TSynEdit
这样做很好吗?- 如何使用
TSynEdit
(链接和资源)?
mono - Mono (linux) 中的 DLLImport 崩溃:ical_wrapper_mono_marshal_free
我在 Linux 中遇到了 Mono Interop 的问题。我有一个需要在 C# 程序集中使用的本机共享库(用 Lazarus 制作)。Windows 和 Linux 上的 Mono C# 程序集使用共享库。
程序集在运行时通过 DllImport 加载共享库,并调用生成文件并返回带有新文件名的字符串的导出函数。共享库中的函数工作正常,但在 Linux 中,当函数返回时,Mono 运行时在 Object.__icall_wrapper_mono_marshal_free 处崩溃。在 Windows 上使用 Mono 可以正常工作。
我进行了几次测试,可以看出共享库确实有效(新文件在指定路径生成),但最终运行时崩溃。运行时似乎在将结果字符串封送回程序集方面存在问题,因为如果我使用返回 int 的导出函数,它就可以工作。
我的共享库是这样的:
调用 C# 程序集如下所示:
我尝试了几种替代方法(从导出的函数返回本机字符串,将调用约定更改为程序集和共享库上的 stdcall,更改 DllImport 中的字符集)。
我确定我遗漏了一些东西,但我在谷歌上没有找到任何关于这个问题的信息。
我的崩溃显示:
有任何想法吗?
delphi - Lazarus/FPC 上的 WM_COMMAND 问题
我有 MainMenu 的表单,我想在用户从菜单中选择命令项时进行拦截。这适用于德尔福:
在 MainMenu 我添加了一些项目,当我从菜单中选择这些项目时,我的 Memo1 会填充:
我将此应用程序移植到 FPC/Lazarus,但似乎没有调用 WM_COMMAND 处理程序!当我在 Delphi 中设置断点时TForm1.WMCommand
,Delphi 在主窗体出现之前停止了很多次。Lazarus 从未在这个断点上停下来。我认为 Lazarus 中的 WM_COMMAND 有问题,但也许我不知道。任何的想法?
我在 WinXP 上使用 Lazarus 0.9.28.2 beta 和 FPC 2.2.4。
编辑:
使用 Winspector 我检查了 MainMenu 生成 WM_COMMAND:
我认为 WM_COMMAND 消息方法处理中的 Lazarus/FPC 存在错误,我报告了它:http ://bugs.freepascal.org/view.php?id=15521
properties - 在 Lazarus 组件中发布属性会引发“访问冲突”
在 Linux 上的 Lazarus 中,我将一个类注册为一个组件,这样我就可以将它放到一个表单上。
就像一个魅力,除了我可以发布的属性仅限于简单类型,如字符串和整数。
每当我尝试发布像 TStringList 或 TImage 这样的属性时,当我在对象检查器中单击它时,它会引发“访问冲突”。
我将我的代码与标准组件进行了比较,但我看不出它们的不同之处。
那么在对象检查器中使用这些属性需要哪些额外的步骤呢?
bitmap - 在 Lazarus 中,如何检查 MenuItem 是否分配了位图?
我编写了一些 Lazarus 代码,循环遍历主菜单的菜单项,并需要查看是否为每个菜单项分配了位图。
我试着检查
但这总是返回 true,无论是否分配了位图。
如果没有分配实际图像,猜测位图将填充一个空的。
那么如何检查图像是有效还是空呢?