我在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标志。
答案 0 :(得分:6)
没有与.dfm表单文件关联的汇编程序代码。 .dfm文件中的属性将转换为二进制.dfm资源,然后链接到可执行文件。在运行时,表单持久性代码使用RTTI加载资源并动态处理其内容。
使用资源编辑器查看更多内容。表单资源将显示在RCData |下TMyForm用于名为TMyForm
的表单类。然后,您可以从可执行文件中提取资源并将其保存到磁盘。使用Delphi附带的convert
实用程序将其转换为文本,并通过-t
来执行此操作。然后编辑文本.dfm。然后使用-b
选项将其转换回二进制以进行转换。然后更新可执行文件,您就完成了。
@Remy指出了一个更简单的解决方案。使用支持Delphi .dfm文件的资源编辑器,例如XN Resource Editor。这包装并保护您免受上述所有细节的影响。