问题列表 - 第48134页

使用BackgroundWorker更新GUI

我一直在寻找并发现执行后台工作和更新GUI的好方法是使用后台工作程序.但是,执行这个(愚蠢的)小任务(从1到10000计数)它不会更新标签内容,而是打印到调试!(当然这只是另一个项目的尖峰解决方案......)

这是代码:

public partial class MainWindow : Window
{
    BackgroundWorker bw = new BackgroundWorker();

    public MainWindow()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, RoutedEventArgs e)
    {

        bw.DoWork += new DoWorkEventHandler(bw_DoWork);
        bw.ProgressChanged += new ProgressChangedEventHandler(bw_ProgressChanged);
        bw.WorkerReportsProgress = true;
        bw.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bw_RunWorkerCompleted);
        bw.RunWorkerAsync();

    }

    void bw_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
    {
        MessageBox.Show("DONE");

    }

    void bw_ProgressChanged(object sender, ProgressChangedEventArgs e)
    {
        label1.Content = "going here: "+e.ProgressPercentage;
        Debug.WriteLine(e.ProgressPercentage);
    }

    void bw_DoWork(object sender, DoWorkEventArgs e)
    {
        for (int i=0; i < 10000; i++)
        {
            bw.ReportProgress((i*100)/10000);
        } …
Run Code Online (Sandbox Code Playgroud)

wpf user-interface multithreading backgroundworker

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

如何在中间件中设置一个可在我的所有应用程序中访问的变量?

我正在使用Ruby on Rails 3,我正在尝试使用中间件来设置@variable_name稍后在控制器中可访问的变量.

例如,我的中间件是

  class Auth

    def initialize(app)
      @app = app
    end

    def call(env)
      @account ||= Account.find(1)

      @app.call(env)
    end
  end
Run Code Online (Sandbox Code Playgroud)

上面的代码正确设置了@account变量,但是在我的应用程序中没有(在控制器,模型,视图......中).那么,我该怎么做呢?


我看到这个答案是一种做我需要的方法,但我希望@account变量"可以直接访问".也就是说,不使用那种方式,但使其可用,例如在我的视图中,像这样:

<%= debug @account %>
Run Code Online (Sandbox Code Playgroud)

ruby variables middleware ruby-on-rails ruby-on-rails-3

10
推荐指数
1
解决办法
3329
查看次数

在搜索Java API?

我最近发现这个API很棒,但它似乎不允许我搜索

http://docs.oracle.com/javase/7/docs/api/

我来自.NET背景,因此需要能够搜索API.

java javadoc

4
推荐指数
1
解决办法
4152
查看次数

ASP.NET 4.0中最好的浏览器检测解决方案

我搜索了这个主题,我遇到了三种不同的方式来配置浏览器功能:browscap.ini,web.config中的browserCaps元素和App_Browsers中的.browser文件.我认为.browser文件是最新的方式,但我似乎没有找到最新的文件.但是我从http://browsers.garykeith.com/downloads.asp找到了相当新鲜的browscap.ini .

我的首要任务是从访问者统计信息中排除常见的抓取工具.第二个优先级是检测具有正确版本的浏览器和操作系统(例如Opera 11/Win7).

我可以使用任何库吗?browscap.ini仍然是一种有效的方式,是否可以在不访问系统文件的情况下使用它?我在哪里可以找到最新的.browser文件?

asp.net browser-detection asp.net-4.0

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

将javascript代码转换为c代码

有没有办法将C代码转换为JavaScript,从JavaScript转换为C?我发现V8 juice哪些可以JavaScript-side从C++ 生成类,但它只有一种方式(C++到JavaScript).

我不是在找软件.

javascript c compiler-construction

47
推荐指数
5
解决办法
5万
查看次数

修改传递给方法的对象的最佳做法是什么?

将对象传递给方法后,我想更改其中一个字段.在Java中执行此任务的最佳做法是什么?

java

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

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

按位AND运算符&做什么?

请帮助解决这个问题并解释逻辑.我不知道&运营商是如何在这里工作的.

void main() {
   int a = -1;
   static int count;
   while (a) {
      count++;
      a &= a - 1;
   }
   printf("%d", count);
}
Run Code Online (Sandbox Code Playgroud)

c bitwise-and

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

为什么ostringstream比ofstream更快

要将许多数据写入文件,我有两种方法:

  1. 直接写入ofstream流

    ofstream file("c:\\test.txt");
    for (int i = 0; i < 10000; ++i)
    {
        file << data[i];
    }
    
    Run Code Online (Sandbox Code Playgroud)
  2. 首先写入istringstream,然后立即写入ofstream

    ostringstream strstream;
    for (int i = 0; i < 10000; ++i)
    {
        strstream << data[i];
    }
    ofstream file("c:\\test.txt");
    file << strstream.str();
    
    Run Code Online (Sandbox Code Playgroud)

毫不奇怪,第二种方法更快,事实上,它比我的HP7800机器上的第一种方法快4倍.

但为什么?我知道ofstream正在使用filebuf,而ostringstream正在使用stringbuf - 作为缓冲区,它们都应该驻留在内存中,因此应该没有区别.

引擎盖下有什么区别?

c++ iostream filestream

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

为什么要在c ++中使用虚函数呢?

这不是关于它们如何工作和宣布的问题,我认为这对我来说非常清楚.问题是为什么要实现这个?我想实际的原因是为了简化其他代码的关联并声明它们的基类型变量,从许多其他子类处理对象及其特定方法?

这可以通过模板化和类型检查完成,就像我在Objective C中做的那样吗?如果是这样,什么更有效?我发现将对象声明为一个类并将其实例化为另一个类是令人困惑的,即使它是它的子类.

SOrry愚蠢的问题,但我还没有用C++完成任何真正的项目,因为我是活跃的Objective C开发人员(它是一个小得多的语言,因此很大程度上依赖于SDK的功能,如OSX,iOS)我需要有任何并行的清晰视图表兄弟的方式.

c++ polymorphism virtual-functions objective-c

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