不小心替换了dtcms.model.dll 和 dtccms.web.dill 文件怎么办

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了不小心替换了dtcms.model.dll 和 dtccms.web.dill 文件怎么办相关的知识,希望对你有一定的参考价值。

参考技术A 系统提示丢失dll文件解决办法:
1、下载缺少的dll文件,复制到c:\windows\system32文件夹下;
2、按win+r,输入regsvr32 /s 该文件文件名XX.DLL,点击确定;
3、弹出提示信息框,提示注册成功,点击确定即可。
4、用腾讯电脑管家电脑诊所--搜缺失dll文件--立即修理

Cocos2d-iphone,替换场景时不调用dealloc

【中文标题】Cocos2d-iphone,替换场景时不调用dealloc【英文标题】:Cocos2d-iphone,not calling dealloc when replacing scene 【发布时间】:2010-06-30 06:24:08 【问题描述】:

这是我现在面临的问题的简化版本。 我制作了 2 个空的 CCScene 1 和 2,并将 CCLayer 1 和 2 添加到各自的场景中。 我还添加了一个触摸功能,使用 CCDirector 的 replacescene 从场景 1 切换到场景 2。

但是,在替换场景中从未调用 dealloc。

// scene & layer 2 are exactly the same as 1
@implementation MainScene

    -(void)dealloc 
     NSLog(@"scene dealloc");
     [super dealloc];
    

    -(id)init 
     self = [super init];
     if (self) 
      layer = [[MainLayer alloc]init];
      [self addChild:layer];
      [layer release];
      NSLog(@"test: %i", [layer retainCount]); //1
     

 return self;


@implementation MainLayer

-(void)dealloc 
 NSLog(@"layer dealloced");
 [super dealloc];


-(id)init 
 self = [super init];
 if (self) 
  self.isTouchEnabled = YES;
            NSLog(@"test %i", [self retainCount]); //1
 
 return self;


-(void)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
 NSLog(@"test %i", [self retainCount]); //2 --> ????
 [[CCDirector sharedDirector] replaceScene:[[SecScene alloc]init]];

此外,当我触摸屏幕时,NSLog 报告层的保留计数为 2。这甚至假设正在发生吗?谁能告诉我我做错了什么,或者只是我的误解,在调用 dealloc 之前,retainCount 必须为 0?

这个问题导致我的主游戏程序在各种场景/层之间反复切换,只用静态精灵(和一些小动作)一次又一次地崩溃。

【问题讨论】:

提示:使用自动释放,省去很多内存管理的麻烦! 【参考方案1】:

我对 cocos2d 的合约不太了解,但你不应该在ccTouchesBegan这一行上释放SecScene 你在ccTouchesBegan 上分配:[[CCDirector sharedDirector] replaceScene:[[SecScene alloc]init]]

我看不出replaceScene 不保留的任何原因,所以现在SecScene 的保留计数应该是2。

更重要的是,如果您以类似的方式添加 MainScene,就可以解释为什么它的保留计数比您希望的高一,所以它永远不会被释放。

【讨论】:

【参考方案2】:

此外,dealloc 我发现很少被调用 - 所以很难测试和调用它......

【讨论】:

在这种情况下,您很可能会因为不匹配分配/释放而泄漏内存......这不是 dealloc 方法的错误,而是您分配/保留/释放的内容、时间和地点导致了 dealloc不叫

以上是关于不小心替换了dtcms.model.dll 和 dtccms.web.dill 文件怎么办的主要内容,如果未能解决你的问题,请参考以下文章

centos7不小心删除了/etc/yum.repos.d/CentOS-Base.repo文件..........

应该是partition to image 备份下系统的 不小心选择了 to partition D盘,然后很快的把电脑重启了,

我是把机子上的数据库不小心给删除了,那除了重新写入没有其他办法找回了吗?

我不小心把软件中的子窗口拖出来了例如matlab 怎么把窗口重新弄回去(嵌入到主窗口中)

Cocos2d-iphone,替换场景时不调用dealloc

网络适配器全都被我不小心卸载了。该怎么重新恢复呀?!