【发布时间】:2012-12-19 04:42:09
【问题描述】:
Delphi X3 中 Firemonkey 应用程序的 TForm3D 主窗口有一个Context:TContext3D,它让我可以访问当前使用的设备。
在我使用 Windows7 64 的情况下,它始终显示来自 FMX.Context.DX10.pas 的 TDX10Context 对象。
我无法从 FMX.Context.DX9.pas 的 TDX9Context 类创建新实例,只是为了查看祖先 TCustomDX9Context。
我发现TContextManager 类在严格的私有TList 中收集注册的3D 上下文:(,这是唯一可以调用构造函数的类...
{ Don't call contructor directly from TContext - only using TContextManager class }
constructor CreateFromWindow(const AParent: TFmxHandle; const AWidth, AHeight: Integer;`
他们在创建新表单时调用TContextManager 来获取上下文,然后使用只读属性TContextManager.DefaultContextClass。
除了DefaultContextClass,我无法找到对上下文的访问。
【问题讨论】:
-
来自 G+ 上的评论 post: GlobalUseDX10 := False;
-
是的! :) 这出乎意料地简单而神奇!有用!这行代码必须在 application.initialize 之前!
-
我是新手,不知道该不该回答我自己的问题? :-/
-
是的,如果您找到一个好的答案,请将其发布到您自己的问题中。将来可能对其他人有所帮助。
标签: delphi directx firemonkey delphi-xe3