问题列表 - 第3994页

为什么我的循环使用100%CPU并且永远不会结束?

我有这个方法:

    private delegate void watcherReader(StreamReader sr);
    private void watchProc(StreamReader sr) {
        while (true) {
            string line = sr.ReadLine();
            while (line != null) {
                if (stop) {
                    return;
                }
                //Console.WriteLine(line);
                line = stripColors(line);
                txtOut.Text += line + "\n";

                line = sr.ReadLine();
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

它从进程(cmd.exe)读取流.当用户关闭cmd.exe窗口时,它会导致CPU使用率跳至100%.在使用调试器时,我看到它在sr.ReadLine()上停止并且永远不会返回.因为它正在观察StandardErrorStream和StandardOutputStream,所以它在两个核心上都使用100%.

如果需要,这里有一些项目代码.

    [DllImport("User32")]
    private static extern int ShowWindow(int hwnd, int nCmdShow);   //this will allow me to hide a window

    public ConsoleForm(Process p) {
        this.p = p;
        p.Start();
        ShowWindow((int)p.MainWindowHandle, 0);   //0 means to hide the window.

        this.inStream = …
Run Code Online (Sandbox Code Playgroud)

c# delegates readline streamreader

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

如何聚焦外窗?

我有一个应用程序,一次只能打开一个自己的实例.为了强制执行此操作,我使用以下代码:

        System.Diagnostics.Process[] myProcesses = System.Diagnostics.Process.GetProcesses();
        System.Diagnostics.Process me = System.Diagnostics.Process.GetCurrentProcess();
        foreach (System.Diagnostics.Process p in myProcesses)
        {
            if (p.ProcessName == me.ProcessName)
                if (p.Id != me.Id)
                {
                    //if already running, abort this copy.
                    return;
                }
        }
        //launch the application.
        //...
Run Code Online (Sandbox Code Playgroud)

它工作正常.我还希望它能够集中已经运行的副本的形式.也就是说,在返回之前,我想将此应用程序的其他实例置于前台.

我怎么做?

Re:SetForeGroundWindow:

SetForeGroundWindow工作,到一点:

    [System.Runtime.InteropServices.DllImport("user32.dll")]
    public static extern bool SetForegroundWindow(IntPtr hWnd); 

    //...
                if (p.Id != me.Id)
                {
                    //if already running, focus it, and then abort this copy.
                    SetForegroundWindow(p.MainWindowHandle);
                    return;
                }
    //...
Run Code Online (Sandbox Code Playgroud)

如果窗口没有最小化,这会将窗口置于前台.真棒.但是,如果窗口IS最小化,它将保持最小化.

它需要取消最小化.

通过SwitchToThisWindow解决方案(Works!):

    [System.Runtime.InteropServices.DllImport("user32.dll")]
    public static extern void SwitchToThisWindow(IntPtr hWnd, bool fAltTab); …
Run Code Online (Sandbox Code Playgroud)

.net c# focus

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

使用本机API或J2ME开发Blackberry应用程序?

我们即将构建一个Blackberry应用程序,但是想知道是否使用J2ME(基于MIDlet)或Blackberry原生(UIApplication)实现.

我理解一些权衡.如果我们想将应用程序移植到其他设备,J2ME将更加灵活.RIM对Blackberry原生有更好的支持.

我仍然缺乏信息的地方是在UI方面.我们希望构建一个具有出色用户体验的应用程序,以及一个看起来像BB用户习惯的其他应用程序的应用程序.如果我们走J2ME路线,我们可以这样做吗?

对这个问题有点主观和技术性质的道歉.

api blackberry java-me

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

是否可以禁用特定的Delphi提示?

在Delphi中,您可以使用编译器指令禁用特定警告,例如

{$WARN USE_BEFORE_DEF OFF}
Run Code Online (Sandbox Code Playgroud)

但是当我尝试用特定的提示做到这一点时,编译器表示它不知道{$ HINT}是什么,而我的undercore_style_name是从帮助文件中获取的.有没有办法做到这一点?

delphi compiler-construction directive hints

15
推荐指数
3
解决办法
5767
查看次数

为什么这个SQL语句不起作用?

SELECT * FROM table1, table2
WHERE table1.user_id = table2.id
AND table1.content = news
AND table1.content_id = 1

那不行.你不能在一个sql语句中有两个"AND"?

//托梅克

sql inner-join

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

Page_Load在Firefox中调用,但不是IE

我已经被抛入一个ASP.NET项目,我有一个页面,其中包含通过AJAX获取的控件.

控件的Page_Load函数需要一些逻辑来从Query字符串中获取正确的值.

问题是在IE中没有调用Page_Load函数.

如果我放入断点,我可以在FF中加载页面并观察它停止,但在IE中:没有交易.

我很漂亮(阅读:COMPLETELY)是ASP.NET的新手,但我是一位非常有经验的PHP开发人员.所以我认为这可能与IE使用AJAX回调获取控件的方式有些混淆.

有没有人有任何想法?

干杯

c# asp.net internet-explorer pageload

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

sqlalchemy,将ID列表转换为对象列表

我有要检索的ID序列.这很简单:

session.query(Record).filter(Record.id.in_(seq)).all()
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法呢?

python sqlalchemy

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

如何在Python中实现调试控制台?

我见过几个提供调试控制台的Python IDE(例如PyDev Extensions,WingIDE) - 一个在断点所在方法的上下文中运行的交互式终端.这使您可以打印成员,调用其他方法并查看结果,并重新定义方法以尝试修复错误.凉.

谁能告诉我这是如何实现的?我知道有代码模块,它提供了一个InteractiveConsole类,但我不知道如何在当前加载的代码的上下文中运行它.我是Python的新手,所以温和的帮助将不胜感激!

python debugging interactive

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

导入和导出Excel - 什么是最好的库?

在C#中的一个ASP.NET应用程序中,我们采用某种数据集合(SubSonic集合)并将其导出到Excel.我们还想以特定格式导入Excel文件.我正在寻找一个可以用于此目的的库.

要求:

  • Excel 2007文件(Excel 2003是否支持超过64k行?我需要更多.)
  • 在服务器上不需要Excel
  • 采用类型化集合,如果可以,则尝试将数字字段作为数字放入Excel中.
  • 适用于大文件(100k到10M) - 足够快.
  • 导出GUID时不会崩溃!
  • 不花钱(不像aspose这样的企业库).免费总是很棒,但可以是商业图书馆.

你推荐什么图书馆?您是否将它用于大量数据?还有其他解决方案吗?

现在,我正在使用一个简单的工具来生成稍后由Excel加载的HTML,但是我正在丢失一些功能,加上Excel在我们加载它时会抱怨.我不需要生成图表或类似的东西,只需导出原始数据.

我在想平坦的CSV文件,但Excel是客户的要求.如果我有一个工具可以转换为Excel,我可以直接使用CSV.鉴于Excel 2007是一种基于xml(和压缩)的文件格式,我猜这种库应该很容易找到.但是,对我来说最重要的是你的意见和看法.


编辑:具有讽刺意味的是,在我看来,并以最多的票数回答,最好的Excel导入和导出库根本没有出口.对于所有情况都不是这种情况,但它适用于我的情况.XLS文件仅支持64k行.XLSX最多支持1M.我尝试过的免费库具有糟糕的性能(当你有200k行时,一秒加载一行).我没有尝试过付费的,因为当你需要的是一个快速的XLSX < - > CSV转换例程时,我觉得它们的价值过高.

c# asp.net excel export-to-excel import-from-excel

177
推荐指数
8
解决办法
19万
查看次数

SQL Server 2000 - 查询表的外键关系

查询表的外键关系几乎完全相同,但对于SQL Server 2000

对于给定的表'foo',我需要一个查询来生成一组具有指向foo的外键的表.

sql database sql-server sql-server-2000 foreign-keys

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