无形式应用程序中的 TFDGUIxWaitCursor

TFDGUIxWaitCursor in formless application

我的错误是:

Object factory for class {3E9B315B-F456-4175-A864-B2573C4A2201} is missing. To register it, you can drop component [TFDGUIxWaitCursor] into your project

好吧,如果我没有无 VCL(非控制台)应用程序,我想这样做...

DPR 文件中只有 "script",仅此而已。

以下没有帮助:

wCur := TFDGUIxWaitCursor.Create(nil);
conn := TFDConnection.Create(nil);
try
  .....
  conn.Connected := True;
  conn.ExecSQL('blah blah blah');
  conn.Connected := False;
finally
  conn.Free();
  wCur.Free();
end;

无需显式创建 TFDGUIxWaitCursor

在您的情况下,在项目文件的 uses 子句中包含 FireDAC.VCLUI.Wait 就足够了。所有必要的初始化和完成都在本单元的 initializationfinalization 部分中执行。

等待游标的概念在 FireDAC(具有接口 IFDGUIxWaitCursor)中被抽象出来以在 FireMonkey、VCL 和控制台应用程序中工作。因此,每一种在不同的单位都有不同的实现。根据您的应用程序类型,您必须选择适当的实现。如果您将 FireDAC 组件放到表单、框架或数据模块上,设计人员通常会添加正确的组件。

  • 控制台:FireDAC.ConsoleUI.Wait
  • FMX: FireDAC.FMXUI.Wait
  • VCL:FireDAC.VCLUI.Wait