网站建设资讯

NEWS

网站建设资讯

包含vb点虐 死循环的词条

vb点虐 怎么无线循环编

一般多开线程写无限循环行为。

成都创新互联是一家专业从事成都网站设计、成都做网站的网络公司。作为专业网络公司,成都创新互联依托的技术实力、以及多年的网站运营经验,为您提供专业的成都网站建设、网络营销推广及网站设计开发服务!

//定义线程

Dim th As New Threading.Thread(New Threading.ParameterizedThreadStart(AddressOf test))

th.Start("aaa")//开始线程,可以传参

//线程执行函数

Public Sub test(ob As Object)

While True

Console.WriteLine("线程正在运行中"  ob)

Threading.Thread.Sleep(1000)

End While

End Sub

vb点虐 程序运行久了以后崩溃

1、可能进入了死循环,仔细检查代码有无这种情况。

2、无用的数据一直在累积而没有及时销毁,导致内存占用越来越大,最终崩溃。要注意对象随用随清,及时 Dispose 掉或调用 GC.Collect。

关于VB.NET制作记事本自动保存的问题

分类: 电脑/网络 程序设计 其他编程语言

问题描述:

我用的是Timer计时器:

如何将程序控制住,让它第一次发现没保存后,只击活一次提示保存,然后使用修改后的保存路径:(代码如下)

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

'如何将程序控制住,让它第一次发现没保存后,只击活一次提示保存,然后使用修改后的保存路径

If SaveFileDialog1.FileName = "" Then

If SaveFileDialog1.ShowDialog Then

rtbox.SaveFile(SaveFileDialog1.FileName, RichTextBoxStreamType.PlainText)

End If

Else

'如果已经选择了要保存的文件名,则保存文本到文件中

rtbox.SaveFile(SaveFileDialog1.FileName, RichTextBoxStreamType.PlainText)

End If

End Sub

————————————————————

此代码执行后变成死循环。

解析:

经过我的潜心修炼问题终于是解决了.请看代码

Imports System.IO

Private strFileName As String = "myRTFdoc.txt"

Private flgFirst As Boolean = True

Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick

'如何将程序控制住,让它第一次发现没保存后,只击活一次提示保存,然后使用修改后的保存路径

Call zc()

End Sub

Private Sub zc()

'Timer2.Stop()

With SaveFileDialog1

.DefaultExt = "txt"

.FileName = strFileName

.Filter = "Text files(*.txt)|*.txt|All files(*.*)|*.*"

.FilterIndex = 1

.InitialDirectory = "c:\"

.OverwritePrompt = True

.Title = "Save Reminding"

End With

'Timer2.Enabled = False

If flgFirst = True Then

If SaveFileDialog1.ShowDialog = DialogResult.OK Then

strFileName = SaveFileDialog1.FileName

Dim objWriter As StreamWriter = New StreamWriter(strFileName, False)

objWriter.Write(rtbox.Text)

objWriter.Close()

objWriter = Nothing

End If

flgFirst = False

'Timer2.Enabled = True

' Timer2.Start()

Else

'flg= second

Dim objWriter As StreamWriter = New StreamWriter(strFileName, False)

objWriter.Write(rtbox.Text)

objWriter.Close()

objWriter = Nothing

End If

'Timer2.Enabled = True

'Timer2.Start()

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

Timer2.Enabled = True

' zc()

End Sub

知道问题在哪里嘛?我调试了确实是"死循环"、其实不是真正的死循环、是time tick事件你设定的时间太短了.估计只设置了1-5s左右.那么程序运行还需要时间.所以他就不停地调用timetick时间.你的savedialog对话框根本来不急弹出来.

所以建议你把timer的interval的值设置高点最好12-15秒 触发一次.

当然我想还有其他的方法、还没有彻底取研究下.

比如stop 什么 、那还需要时间.

至少目前我的方法是可以了.

我设置的12s P4. 3.0 1G 内存 跑下我的程序如果 F10(F8)慢点的话就来不及了.

另为把你的程序小改了下、应该可以满足你的要求了.


本文题目:包含vb点虐 死循环的词条
本文链接:http://cdweb.net/article/ddjedgc.html