0

我在delphi中有一个对象,如下所示:

  object DXDraw: TDXDraw
    Left = 0
    Top = 0
    Width = 640
    Height = 360
    AutoInitialize = True
    AutoSize = False
    Display.BitCount = 16
    Display.FixedBitCount = True
    Display.FixedRatio = True
    Display.FixedSize = False
    Options = [doFullScreen, doAllowReboot, doWaitVBlank, doHardware, 
        doRetainedMode, doDrawPrimitive, doSelectDriver, doTexture, 
        doRGB, doMono]
    SurfaceHeight = 360
    OnInitialize = DXDrawInitialize
    TabOrder = 1
    Visible = False
    OnClick = LbBackScreenClick
    OnDblClick = DXDrawDblClick
    OnDragDrop = FormDragDrop
    OnDragOver = FormDragOver
    OnKeyPress = EdFocusKeyPress
    OnMouseDown = LbBackScreenMouseDown
    OnMouseMove = LbBackScreenMouseMove
    OnMouseUp = LbBackScreenMouseUp
  end

我试图弄清楚这在 ASM 中会是什么样子。特别是选项。我找到了它的枚举表,但它似乎被读过。我有兴趣删除 doFullScreen 标志。

4

1 回答 1

6

没有与 .dfm 格式文件关联的汇编代码。.dfm 文件中的属性将转换为二进制 .dfm 资源,然后链接到可执行文件。在运行时,表单持久性代码加载资源并使用 RTTI 动态处理其内容。

使用资源编辑器查看更多信息。表单资源将出现在 RCData | TMyForm 用于名为TMyForm. 然后,您可以从可执行文件中提取资源并将其保存到磁盘。使用convertDelphi 提供的实用程序将其转换为文本,然后传递-t。然后编辑文本 .dfm。然后使用转换选项将其转换回二进制-b。然后更新可执行文件,你就完成了。

@Remy 指出了一个更简单的解决方案。使用支持 Delphi .dfm 文件的资源编辑器,例如XN Resource Editor。这总结并保护您免受上述所有细节的影响。

于 2013-02-01T20:24:31.773 回答