Lazarus 0.9.30.2如何销毁动态创建的TMYSQL51连接?错误

Lazarus 0.9.30.2如何销毁动态创建的TMYSQL51连接?错误,mysql,lazarus,Mysql,Lazarus,我在台式机和笔记本电脑上安装了lazarus 0.9.30(两者都安装了Windows7和MySQL 5.5.13) 我使用的是TMySQL50connection,没有问题 几周前,我将笔记本升级到lazarus 0.9.30.2,在同一个项目中,没有对代码进行任何修改(我只将TMySQL50connection更改为TMySQL51connection),在lazarus内部运行项目时,我开始出现以下错误 无法对活动事务执行调试器异常通知项目Controle de Processos引发的异

我在台式机和笔记本电脑上安装了lazarus 0.9.30(两者都安装了Windows7和MySQL 5.5.13)

我使用的是TMySQL50connection,没有问题

几周前,我将笔记本升级到lazarus 0.9.30.2,在同一个项目中,没有对代码进行任何修改(我只将TMySQL50connection更改为TMySQL51connection),在lazarus内部运行项目时,我开始出现以下错误

无法对活动事务执行调试器异常通知项目Controle de Processos引发的异常类“EDatabaseError”及其消息操作

当我从Windows资源管理器运行.exe时,它不会出错

在没有解决方案的几天后,我卸载了lazarus 0.9.30.2,返回到lazarus 0.9.30,并将代码返回到TMySQL50connection,但令人惊讶的是,错误消息仍然存在

现在,我在两台机器上都安装了lazarus 0.9.30,使用相同的项目(相同的代码)。在我的桌面上我没有任何错误,一切正常,但在我的笔记本上我有上面的错误信息

我能做什么

我需要一些帮助

如何完全删除lazarus 0.9.30.2并返回到lazarus 0.9.30

(我不记得我是否在桌面上应用了一些补丁)

事先非常感谢

导致错误的行是TranCli.Free

代码是:

try
  ConCli := TMySQL50Connection.Create(nil);
  ConCli.HostName := ipHost;
  ConCli.port := 3306;
  ConCli.UserName := username;
  ConCli.Password := password;
  ConCli.DatabaseName := databasename;
  TranCli := TSQLTransaction.Create(nil);
  TranCli.DataBase := ConCli;
  QryCli := TSQLQuery.Create(nil);
  QryCli.DataBase := ConCli;
  QryCli.Transaction := TranCli;
  try
    ConCli.Open;
  except
    on e : exception do
    begin
      if (e.Message='Server connect failed.') then
      begin
        MessageDlg('Error',
            'Could not connect server.',mtError,
             [mbCancel],0);
        exit;
      end;
    end;
  end;

  ...

  Code here

  ...

finally
  QryCli.Close;
  ConCli.Close;
  QryCli.Free;
  TranCli.Free;
  ConCli.Free;
end;
如何解决这个问题


非常感谢您。

听起来您必须设法使交易不活跃。活动属性,还是将其与查询断开连接?