小编Rom*_*sky的帖子

FastMM:总分配内存

我如何获得由FastMM分配的内存总量?

我试过了:

function GetTotalAllocatedMemory: Cardinal;
var
  MMState: TMemoryManagerState;
begin
  GetMemoryManagerState(MMState);
  Result := MMState.TotalAllocatedMediumBlockSize + MMState.TotalAllocatedLargeBlockSize;
end;
Run Code Online (Sandbox Code Playgroud)

这是对的吗?

无论如何它会返回奇怪的东西.它比我在Windows任务管理器中看到的值少5倍.我相信Delphi应用程序分配的内存量等于FastMM分配的内存加上一些系统开销.我错了吗?

delphi memory-management fastmm

6
推荐指数
1
解决办法
2136
查看次数

TAction被解雇的方式是什么?

有很多的方式,用户可以如何触发一个动作(TAction)执行:快捷键,工具栏按钮,弹出式菜单按钮等是否有可能得到的信息是如何的行动已被触发?

我只是考虑实现活动日志,以找出在GUI中使用不同功能的最流行的方法.

更新

我需要收集一些关于用户如何与应用程序GUI交互的统计信息.

仅仅因为您需要实现日志记录而不是为每个按钮创建单独的操作不是最好的主意.Ulrich Gerhardt的回答看起来很合适.我可以为TActionList.OnExecute事件分配一个处理程序,并从一个地方写入日志.

delphi

6
推荐指数
1
解决办法
509
查看次数

如何使用OpenToolsAPI在源编辑器中突出显示特定行

是否有可能在活动编辑器窗口中突出显示特定行,就像Delphi IDE突出显示编译器错误时那样?

delphi toolsapi

5
推荐指数
1
解决办法
634
查看次数

如何直接在FMX2中访问TBitmap像素(TBitmap.ScanLine替换)?

FMX.Types.TBitmap班有ScanLine在FMX(FireMonkey)财产,但似乎除去此属性,并在FMX2(FireMonkey FM2)丢失.

有没有解决方法?我们如何TBitmap直接在FMX2中访问内容?

delphi firemonkey firemonkey-fm2

4
推荐指数
1
解决办法
2998
查看次数

JMapView控件不会出现在Android中的FireMonkey表单上

JMapView控件不会出现在Android中的FireMonkey表单上.

请看下面我的代码,可能是我错过了什么.

NativeLayout: JNativeLayout;并被Maps: JMapView;声明为表单的私有字段.

procedure TForm3.FormShow(Sender: TObject);
var
  MapOptions: JGoogleMapOptions;
  Camera: JCameraPosition;
  LatLng: JLatLng;
begin 
  CallInUIThreadAndWaitFinishing(
    procedure
    begin
      LatLng := TJLatLng.JavaClass.init(0, 0);
      Camera := TJCameraPosition.JavaClass.init(LatLng, 3, 0, 0);

      MapOptions := TJGoogleMapOptions.JavaClass.init;
      MapOptions.camera(Camera);
      MapOptions.mapType(TJGoogleMap.JavaClass.MAP_TYPE_NORMAL);
      MapOptions.compassEnabled(False);
      MapOptions.rotateGesturesEnabled(False);
      MapOptions.tiltGesturesEnabled(False);

      Maps := TJMapView.JavaClass.init(SharedActivity, MapOptions);

      NativeLayout := TJNativeLayout.JavaClass.init(SharedActivity,
        MainActivity.getTextEditorProxy.getWindowToken);
      NativeLayout.setControl(Maps);
      NativeLayout.SetPosition(10, 10);
      NativeLayout.SetSize(600, 600);
      NativeLayout.SetFocus(true);
    end);
end;
Run Code Online (Sandbox Code Playgroud)

执行此代码后,我看到一个空的FireMonkey表单.

delphi firemonkey

4
推荐指数
1
解决办法
307
查看次数