关于TScreen::TDataModule没有互斥,在Datasnap中引出的BUG

原创 2012年03月23日 15:49:28

Datasnap中的TDSServerModule是继承于TDataModule,TDSServerModule实例的Destory,没有做互斥


destructor TDSServerModuleBase.Destroy;
begin
  //TDataModule
  if OldCreateOrder then DoDestroy;
  if Assigned(RemoveDataModule) then
    RemoveDataModule(Self);
  //TComponent
  Destroying;
  RemoveFreeNotifications;
  DestroyComponents;
  // TPersistent
  RemoveFixups(Self);
  //TProviderDataModule
  CleanProviders;
end;


 RemoveDataModule(Self);

解决方法:

对全局的Classes.RemoveDataModule的函数重新赋值自己写的RemoveDataModuleFix,并在函数内互斥

procedure TDataModuleFix.RemoveDataModuleFix(DataModule: TDataModule);
begin
  GlobalNameSpace.BeginWrite;
  try
    g_SaveRemoveDataModule(DataModule);
  finally
    GlobalNameSpace.EndWrite;
  end;
end;




                    

由sscanf用错引出bug,总结下sscanf用法

1、我使用sscanf犯下的错误 先看下代码:

jquery EasyUI 心得--------2 datagrid中混用渲染方式引出的bug带给我的反思

环境搭建:http://blog.csdn.net/rainyspring4540/article/details/47297811 界面展现参考:http://blog.csdn.net/rain...

jbpm4.4 email没有验证bug解决

  • 2012年02月02日 10:47
  • 1.06MB
  • 下载

由栈帧结构引出的一个小bug

上一篇已经谈过在C语言的函数调用过程中函数栈帧结构的变化,对于栈帧结构变化不清楚的可以去找上一篇文章(链接地址:http://blog.csdn.net/chenkaixin_1024/article...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于TScreen::TDataModule没有互斥,在Datasnap中引出的BUG
举报原因:
原因补充:

(最多只允许输入30个字)