菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
23
0

FireDac心得

原创
05/13 14:22
阅读数 30662

uses
FireDAC.Phys.MySQL,
FireDAC.Stan.Def,
FireDAC.DApt,
FireDAC.Comp.Client,
FireDAC.Comp.UI,
FireDAC.UI.Intf,
FireDAC.VCLUI.Wait, {FDGUIxWaitCursor.Provider := 'Forms'}
FireDAC.Stan.Intf,
// FireDAC.ConsoleUI.Wait, {FDGUIxWaitCursor.Provider := 'Console'}
// FireDAC.FMXUI.Wait, {FDGUIxWaitCursor.Provider := 'FMX'}
FireDAC.Stan.Async;

 

FDPhysMySQLDriverLink := TFDPhysMySQLDriverLink.Create(nil);
FDConn := TFDConnection.Create(nil);
FDGUIxWaitCursor := TFDGUIxWaitCursor.Create(nil);
FDQry := TFDQuery.Create(nil);

FDPhysMySQLDriverLink.VendorLib := ExtractFilePath(ParamStr(0))+'\libmariadb.dll';
FDGUIxWaitCursor.Provider := 'Forms';
FDConn.DriverName := 'MySQL';
FDConn.LoginPrompt := False;
FDConn.Params.Add('DriverID=MySQL');
FDConn.Params.Add('Server=' + vDBLink.Server);
FDConn.Params.Add('Database=' + vDBLink.Database);
FDConn.Params.Add('User_Name=' + vDBLink.UserName);
FDConn.Params.Add('Password=' + vDBLink.Password);
FDConn.Params.Add('Port=' + vDBLink.Port);
FDConn.Params.Add('CharacterSet=utf8');
FDConn.Connected := True;
FDQry.Connection := FDConn;

with FDQry do
begin
Close;
SQL.Clear;
SQL.Add(vSQL);
Active := True;
end;

======================================================================================================================

问题现象:XE8开发数据访问程序时放入了FDPhysMSSQLDriverLink1、FDConnection1、FDConnection1、FDQuery1、DBGrid1,设计期没法,运行期报"Object factory for class{xx-xx-xx-xx-xx} is missing. To register it, you can drop component[TFDGUIxWaitCursor] into your project."。

问题原因:群里朋友说是少个注册类。没有官方解释。有了解的朋友M我哦。

问题处理:在窗体上托放一个“TFDGUIxWaitCursor”控件就可以了;或者Uses相关单元,如下图所示:

发表评论

0/200
23 点赞
0 评论
收藏