小编Gut*_*der的帖子

确定已签出文件的perforce用户

我读过这些问题:

然而,这些都涉及为用户查找所有签出的文件.这非常有用,但我需要走另一条路; 我真正想做的是看谁检查了一个特定的文件.阅读过P4文档后,我认为没办法做到这一点.

在P4中有没有办法我可以查看谁已经检查了特定文件?

perforce

9
推荐指数
1
解决办法
7365
查看次数

使用IDisposable管理引用计数

背景:

此问题类似,我希望将IDisposable用于其他设计之外的其他内容.

目标:

这个应用程序并不是非常相关,但仅仅是一个很好的例子:我有一个Windows Forms应用程序,我实现了一个Undo设计模式.通常,这是通过拦截UI元素中的"Value Changed"事件来完成的.对于DataGridView,CellEndEdit等等.但是在某些情况下,我会以编程方式更改数据,并且我希望每个撤消操作都跟踪它们,而不跟踪它们.

至今:

我有办法完成所有这些,但我在计算中管理我的"我应该撤消"逻辑:

private int _undoOverrides = 0;
public bool ShouldUndo { get { return _undoOverrides < 1; } }
public void DoNotUndo() { ++_undoOverrides; }
public void ResumeUndo() { --_undoOverrides; }
Run Code Online (Sandbox Code Playgroud)

现在,这种方法运行良好,但您必须记住ResumeUndo()在这样的业务逻辑结束时调用DoNotUndo().我想:

也许我不是太愚蠢的搞砸了,但是如果我不得不在代码中公开这个接口我会传递下去呢?如果可能的话,我想编译器可以为我处理这个问题.

想法:

我正在考虑使用一个实现IDisposable此类的类.这样,我的代码的用户可以使用一个using块,从不担心家务杂务.这是我到目前为止:

private static int _refCount = 0;
public static int ReferenceCount { get { return _refCount; } }
class HallPass : IDisposable
{
    protected bool bActive; …
Run Code Online (Sandbox Code Playgroud)

c# idisposable

7
推荐指数
1
解决办法
916
查看次数

javascript addEventListener 不工作不止一次

我正在尝试做一个相对简单的 javascript 程序/页面,只有 3 个滑块 RGB 来影响正方形和圆形的颜色。

当我将事件侦听器与输入元素“内联”时,它工作得很好:即, onchange="someFunction(x,y)"

但是,当我将事件侦听器移到 javascript 中并使用 时addEventListener,它仅在页面加载时工作一次,然后再也不会工作......几乎就像 aremoveEventListener已被调用,但我还没有这样做。

是的,在调用 javascript 之前,我确保所有元素都加载到页面上。

我已经修改了这段代码,只是为了给我一个 ALERT 而不是实际调用我想要的函数slideUpdate,只是为了调试目的。

这是: JAVASCRIPT:

var colorBox = document.getElementById("colorbox");
var colorCircle = document.getElementById("colorCircle");
var colorPicker = document.getElementById("colorPicker");
var sliderRed = document.getElementById("Red");
var sliderGreen = document.getElementById("Green");
var sliderBlue = document.getElementById("Blue");

//sliderRed.addEventListener("onchange", alertForDebug() );
//sliderRed.addEventListener("onclick", alert(sliderRed.value) );

document.addEventListener('DOMContentLoaded', function () {
    alert("document loaded!");
    sliderRed.addEventListener("change", alert(sliderRed.value) );
    //document.querySelector('#Red').addEventListener('change', slideUpdate(sliderRed.value, sliderRed.id) );
    //document.querySelector('#Green').addEventListener('onchange', slideUpdate(this.value, this.id) );
    //document.querySelector('#Blue').addEventListener('onchange', slideUpdate(this.value, this.id) );
} …
Run Code Online (Sandbox Code Playgroud)

javascript eventhandler

3
推荐指数
1
解决办法
1万
查看次数

如何从"CEdit"框中获取通知?

我有一个CEdit框,用户可以在其中输入相关信息.一旦他开始在盒子里写字,我就需要一个通知,以便我可以打电话doSomething()来执行其他任务.Windows是否提供回调,如果是,我该如何使用它?

windows mfc desktop-application

2
推荐指数
2
解决办法
6904
查看次数