我发现以下代码可以防止屏幕旋转,但是当我编译时,我得到了一堆未声明的标识符:IFMXScreenService, TPlatformServices. 显然这是因为缺少单位。但是我找不到它是什么单位。
代码:
procedure TLogin.FormCreate(Sender: TObject);
var
ScreenService: IFMXScreenService;
OrientSet: TScreenOrientations;
begin
if TPlatformServices.Current.SupportsPlatformService(IFMXScreenService) then
begin
ScreenService := TPlatformServices.Current.GetPlatformService
(IFMXScreenService) as IFMXScreenService;
OrientSet := [TScreenOrientation.soLandscape];
ScreenService.SetScreenOrientation(OrientSet);
end;
end;
Run Code Online (Sandbox Code Playgroud)
任何帮助都会非常感谢。
更新:
缺少的单位是FMX.Platform。但是当我现在尝试编译时,出现错误:\\android\\debug\\libproject.so: open: permission denied
添加FMX.Platform到您的uses子句中,并去掉对 的冗余调用GetPlatformService():
uses
..., FMX.Platform;
procedure TLogin.FormCreate(Sender: TObject);
var
ScreenService: IFMXScreenService;
OrientSet: TScreenOrientations;
begin
if TPlatformServices.Current.SupportsPlatformService(IFMXScreenService, IInterface(ScreenService)) then
begin
OrientSet := [TScreenOrientation.soLandscape];
ScreenService.SetScreenOrientation(OrientSet);
end;
end;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4939 次 |
| 最近记录: |