问题标签 [firemonkey-fm3]

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.

0 投票
0 回答
775 浏览

delphi - MultiResolution in Firemonkey Mobile Application

Is there any demo available that shows how multi-resolution images should be handled in a mobile application with button images, splash screen and a background for example? I'm trying to make an application that looks nice on many resolution but i have problems doing it.

For example, if i load my application in a Samsung Galaxy Tab 2.0 7, it will automatically load any image i have at the ratio of 1.0, but if i load my application in a samsung galaxy s4 then it will load the image of 1.5 ratio. Now... if i use an image of 480x800 in ratio 1 it's kinda small for the Galaxy Tab 2.0's screen and if i load the app again in a mobile with a smaller screen that will use too the ratio 1.0 the image size is ok.

Since i can't appoint two different resolution images to one specific ratio how am i supposed to use the MultiResolution property of TImage correctly?

0 投票
2 回答
2146 浏览

delphi - Firemonkey在位图上绘图而无需插值

我正在使用画布绘制函数 drawrect 和 filltext 在 Tbitmap 上绘制,但我不希望结果抗锯齿。有人知道该怎么做吗?

使用 OSX 和 Delphi XE3(但如果需要,可以使用 XE4 和 XE5)

0 投票
3 回答
10885 浏览

android - 如何使用 FireMonkey for Delphi XE5 检测/处理屏幕旋转

首先 - 我是 Android 和 FireMonkey 编程的初学者,所以请记住这一点 :-)。

我制作了一个 FireMonkey/Android 应用程序,它可以根据屏幕大小和方向调整其控件的大小/重排它,但是当用户旋转屏幕时,我不知道如何设置我的应用程序被调用。如果我在其中运行 Firemonkey/Win32 并显示一个执行以下操作的按钮:

然后捕获 FormResize 事件,我的表单会按应有的方式调整大小/重排。我想在 Android 上运行时也这样做,但似乎在屏幕旋转时不会调用 FormResize 事件,因此我的按钮等不会重排并最终出现在屏幕之外。

所以我的问题是,我如何检测到屏幕已经旋转,以便我的应用程序可以在横向和纵向模式下工作?

0 投票
1 回答
5753 浏览

delphi - 如何在 Trectangle 的画布上绘画

我需要一个可以根据我的需要定制的可点击控件。从 Delphi 文档中,我收集到 TRectangle 可以。我需要以编程方式创建我的 TRectangles,所以我创建了一个表单、一个面板和一个按钮(参见下面的代码)。由于 TRectangle 是通过 TControl 的 TShape 派生的,因此我测试了是否可以使用 PaintTo 在 TRectangle 画布上绘制,使用它自己的画布。我构造的 TRectF 是在假设绘画相对于 TRectangle 的画布的情况下创建的,因此需要 (0, 0) 的偏移量。然而,矩形是在窗体的 (0, 0) 位置绘制的!没有注意我所做的 Fill 和 Stroke 属性的更改。

接下来我尝试了 FillRect 并再次获得相同的结果,尽管使用了正确的填充。尽管调用来自 Trectangle 变量.Canvas.FillRect,但它始终相对于树中最高的父级,绕过 TRectangle 和 TPanel。我一直认为绘画是相对于 Canvas 所属的 TControl 的坐标的。

这是错误的还是 TRectangle 有什么特别之处?有没有更好的在 TRectangle 上绘画的方法?

0 投票
0 回答
115 浏览

delphi-xe5 - FMX - 取消 URL 加载

有没有办法使用属性取消 URL 加载TCustomWebBrowser.OnShouldStartLoadWithRequest?此属性的类型声明为

因此,它不会根据可以决定是停止还是继续 URL 加载的任何值返回任何值...

0 投票
1 回答
59602 浏览

string - 如何将字符串转换为字节数组并返回

4我必须将字符串写入二进制 MIDI 文件。该标准要求知道字符串的长度(以字节为单位)。由于我也想为移动设备编写代码,所以我不能使用 AnsiString,这是确保字符串是单字节字符串的好方法。这简化了事情。我测试了以下代码:

它在 Windows 和 Android 中返回 2 77 84 104 100(作为标签文本)。这是否意味着 Delphi 默认将字符串视为 UTF-8?这将大大简化事情,但我在帮助中找不到它。将其转换为字节数组的最佳方法是什么?读取每个字符并测试它是 1、2 还是 4 字节并在数组中分配这个空间?要转换回字符:只需读取字节数组,直到遇到 < 128 的字节?

0 投票
4 回答
22186 浏览

delphi - 如何以编程方式更改 Tlabel 的 FontColor

当我将 aTLabel放在表单上时,我可以通过更改FontColor属性来更改其文本的颜色。但是,当我在我的程序中这样做时

这不起作用。知道有什么问题吗?

0 投票
1 回答
1002 浏览

stored-procedures - Datasnap 和 Fmx 移动应用程序如何发送包含 blob 字段的数据集

我有一个多层项目,在该项目中,我将通过带有函数的 FDStoredProc 从 microsoft sql 2005 收集数据,并且该函数会将数据集返回给客户端。当服务器将数据集分配给函数的结果并且函数尝试将其发送给客户端时,我收到此错误。项目 etctec.exe 引发异常类 TDBXError,并带有消息“TDBXTypes.BLOB 值类型无法作为 TDBXTypes.Bytes 值类型访问”。

在另一个项目中,我以完全相同的方式将不同数据库的 StoredProc 与 TFDStoredProc 一起使用,并且工作正常。有什么想法会引发这个错误吗?

这就是我在服务器中所做的。

客户这样称呼它...

问题来自一些 NVARCHAR(max) 类型的字段,有人知道在不更改字段类型的情况下解决此错误的方法吗?

我尝试将数据集的字段类型更改为字符串或没有成功的东西。我唯一能暂时做的就是分别获取这些字段,将它们放在字符串列表或类似的东西中,然后将其传递给客户端。

0 投票
1 回答
1471 浏览

delphi - 在 Delphi mobile for iOS/Android 下支持套接字

我需要在 Delphi XE5 Mobile 下移植过时的 ASTA 组件,发现 ASTA 正在使用 TCustomClientSocket。这意味着我需要调整此类以不仅支持 Windows 套接字,还支持 iOS 和 Android 套接字。

Delphi Mobile for iOS/Android 下支持本机套接字的最佳库是什么?

0 投票
2 回答
568 浏览

c++ - 如何在 FireMonkey (FMX, FM3) 中显示流畅的视频?

有没有人想出如何在 FireMonkey 应用程序中显示流畅的视频(即一系列位图),高清或 3D?在 VCL 中,您可以从线程写入画布,这将完美运行,但这在 FMX 中不起作用。更糟糕的是,显然唯一可靠的方法是使用 TImage,这似乎是从主线程更新的(打开菜单并暂时冻结视频)。我能找到的所有 EMB 示例要么从主线程写入 TImage,要么使用 Synchronize()。这些限制使 FMX 无法用于像样的视频显示,因此我正在寻找破解或可能绕过 FMX。我使用 XE5/C++,但欢迎任何建议。目标操作系统是 Windows 7+ 和 OS X。谢谢!