Lazarus 0.9.30.2如何销毁动态创建的TMySQL51Connection?错误

时间:2012-02-24 18:52:17

标签: mysql lazarus

我在桌面和笔记本上安装了lazarus 0.9.30(两者都是Windows 7和MySQL 5.5.13)。

我正在使用TMySQL50connection而没有任何问题。

几周前我把我的笔记本升级到了lazarus 0.9.30.2,在同一个项目中,没有对代码进行任何修改(我只是将TMySQL50连接更改为TMySQL51connection)当我在里面运行项目时,我开始出现以下错误拉扎勒斯

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

当我从Windows资源管理器运行.exe时,它运行时没有错误。

在没有解决方案的几天后,我卸载了lazarus 0.9.30.2并返回到lazarus 0.9.30并将我的代码恢复到TMySQL50connection,但出乎意料的是错误消息仍然存在。

所以现在我在两台机器上都有lazarus 0.9.30,具有相同的项目(相同的代码)。在我的桌面上我没有任何错误,一切都很好,但在我的笔记本上我有上面的错误信息。

我该怎么办??????

我需要一些帮助!!!!!

如何彻底删除拉撒路0.9.30.2然后回到拉撒路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;

如何解决这个问题?

非常感谢你。

0 个答案:

没有答案