我在我的表单上有一个ListView:TListview,并且,我添加了很多值(大约25k TListViewItem),它工作得非常快,但是当我调用Listview.Clear时,程序冻结.我用调试器检查它,它不会步那条线.
我的问题是:我如何解决我的问题?如果可以在不到一秒的时间内创建这么多项目,为什么删除它们需要永远(我等了5分钟以上)?
我正在使用Visual C#2005(net framework 2)创建一个GUI应用程序.我使用以下代码来启动一个过程:
Process process = new Process();
process.StartInfo = new ProcessStartInfo("app.exe");
process.StartInfo.WorkingDirectory = "";
process.StartInfo.Arguments = "some arguments";
process.Start();
process.WaitForExit();
Run Code Online (Sandbox Code Playgroud)
我希望我的应用程序等到这个过程结束,所以我使用了WaitForExit.但是,当app.exe运行时,GUI Windows会冻结.我希望它响应(例如按下取消按钮),但我不希望代码继续,因为还有另一个进程要启动.提前致谢!
我最近为一家公司制作了零件目录.它在Firefox,Chrome,Safari等中运行良好.
但是,在IE 7中,除了实际的部件页面本身之外,每个页面都有效:http://www.swstruckbodiesandtrailers.com/index.php? pageId = 69
它实际上锁定了整个浏览器,在查看源代码后,我不知道为什么.
有没有人有任何见解?它只是简单的HTML,CSS和几行jQuery - 没什么特别的.
我以前从未遇到过冻结整个浏览器的页面.
我想弄清楚Python中的哪些文件(Python 2.6/Python 2.7)tcl文件夹是必需的,以便使用Py2exe或类似程序分发冻结的Python Tkinter应用程序.
快速而肮脏的方式(使用pyexe作为示例)是按照下一页上的第二个示例,然后将您的python的tcl文件夹xcopy到您的dist文件夹(作为tcl子文件夹). http://www.py2exe.org/index.cgi/TixSetup
xcopy tcl技术的问题在于它复制了100个可能不需要分发的额外文件.
例如,我的实验表明在冻结Python 2.7 Tkinter应用程序时可能不需要以下tcl文件夹:
注意:数字大小是每个路径中所有文件的总和.
我是在正确的道路上还是不包括上面的tcl内容会让我在路上撞到我?
更好的是,有没有关于Python的tcl文件夹中的文件的文档?
谢谢你,马尔科姆
我正在构建一个WPF,它有一个在sql server中执行sql查询的按钮(查询可能需要很长时间才能运行).我想使用TPL来做到这一点.
此代码:var result = Task.Factory.StartNew(()=> {command.ExecuteNonQuery();});
给出了这个异常:ExecuteNonQuery需要一个开放且可用的连接.连接的当前状态已关闭.
我想这是因为查询在不同的线程上运行而且不知道打开的连接.
我有两个问题:1.如何让新线程知道这个开放连接?2.解决此问题后,如何通过此查询使窗口不冻结.
谢谢
下面的脚本由HTA表单中的按钮运行.然而,每当按下按钮时,程序冻结并保持冻结状态,直到下载完成,而不是看到["Downloading:"&dlFileName].我确实看到第二条消息["下载完成!"].
当我在第2行和第3行之间输入MsgBox时,我确实看到文本在按下OK按钮之前变为"正在下载...",但现在没有解决方案了...
我写错了,还是有一种(简单,轻松)的方式来停止行动,直到先前的行动被采取?
欢迎任何信息,我对此很新!
Sub Download_File(dlAddress, dlFileName)
strStatus.innerHTML="Downloading: " & dlFileName 'This does not show up.
strHttp.Open "GET", dlAddress, False
strHttp.Send
With createobject("Adodb.Stream")
.type = 1 '//binary
.open
.write strHttp.responseBody
.savetofile txtDLPath.Value & dlFileName, 2 '//overwrite
End With
strStatus.innerHTML="Downlad complete!"
End Sub
Run Code Online (Sandbox Code Playgroud) 我正在播放视频MPMoviePlayerController.在以下情况中,我得到一个黑屏,不响应控件上的点击:
所有其他控件按预期工作.
请注意,长按快进和快退确实可以正常工作.
我确实在下面的链接中查看了文档.有用户何时向前和向后寻求的通知(例如,长期持有); 分别MPMoviePlaybackStateSeekingForward和MPMoviePlaybackStateSeekingBackward.话虽如此,搜索按钮上没有simple_tap_的通知.
链接是" 这里 ".
为了完整性,这里是我用来调用播放器的代码.没有什么不寻常的; 当视频结束(观察MPMoviePlayerPlaybackDidFinishNotification)时,我倒回到开头.
NSString *path = [[NSBundle mainBundle] pathForResource:@"catSleeping" ofType:@mp4"];
_videoPlayer = [[MPMoviePlayerController alloc]
initWithContentURL:[NSURL fileURLWithPath:path]];
[_videoPlayer prepareToPlay];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(moviePlayBackDidFinish:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:_videoPlayer];
_videoPlayer.controlStyle = MPMovieControlStyleFullscreen;
_videoPlayer.shouldAutoplay = YES;
[self.view addSubview:_videoPlayer.view];
[_videoPlayer setFullscreen:YES animated:YES];
[_videoPlayer play];
}
- (void) moviePlayBackDidFinish:(NSNotification*)notification {
MPMoviePlayerController *player = [notification object];
player.currentPlaybackTime = 0.1;
[player stop];
[player play];
[player pause];
}
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
tyvm Keith …
我做了这个:
a = 1280
b = 900
a.freeze
b.freeze
a = 800
b = 600
puts a
puts b
Run Code Online (Sandbox Code Playgroud)
它导致:
800
600
Run Code Online (Sandbox Code Playgroud)
但文档说,如果我尝试修改冻结的现有对象,它应该引发错误.谁能告诉我什么是错的?
我试着尝试一下Thread.Sleep().我用一个按钮创建了基本的Windows窗体应用程序.
private void button1_Click(object sender, EventArgs e)
{
Thread thread1 = new Thread(DoStuff);
thread1.Start();
for (int i = 0; i < 100000; i++)
{
Thread.Sleep(500);
button1.Text +=".";
}
}
public void DoStuff()
{
//DoStuff
}
Run Code Online (Sandbox Code Playgroud)
当我单击我的按钮时,该DoStuff方法工作正常,但GUI冻结,没有任何反应.有人能解释一下为什么吗?
每次运行pod安装/更新时,Xcode 8.1冻结,我必须强制退出xcode并再次打开它.当我尝试将2个分支与源代码控制和终端合并时,也会发生这种情况.