帮我看看这个VB.net,Invoke老是报错,怎么修改?

作者&投稿:戏底 (若有异议请与网页底部的电邮联系)
vb.net修改登录密码,帮忙看看这个哪里错了呢,该怎么写?~

Dim sql As String = "Update userTable Set 密码='" & TextBox2.Text & " ' where 用户名='" & ursename & "'"

其实这行代码和C_RunCompleted(image, Nothing)的效果类似,但在BackgroundWorker中解决了“线程安全”的问题。
你可以把多线程看成几个工人同时干活。如果大家都共用一份材料,然后我给它补一块,你给它割一块,他再把其它材料焊上去,岂不是乱套了?Invoke的作用就是用一个线程模型调用方法,让主线程先放一边,这样就不会乱套了,也就是“线程安全”。你试试直接改成上面的代码,运行时会引发跨线程异常

(补充:)
Private Sub myJobManager_Stopped(ByVal sender As Object, ByVal e As

CogJobManagerActionEventArgs)
If InvokeRequired Then
Dim myDel As New myJobManagerDelegate(AddressOf myJobManager_Stopped)
Dim eventArgs() As Object = {sender, e}
Invoke(myDel, eventArgs) '程序在这里报错
Return
End If
RunOnceButton.Enabled = True
RunContCheckBox.Enabled = True
End Sub
Private Sub RunContCheckBox_CheckedChanged(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles RunContCheckBox.CheckedChanged
If (RunContCheckBox.Checked) Then
Try
RunOnceButton.Enabled = False
myJobManager.RunContinuous()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
Else
Try
RunContCheckBox.Enabled = False
myJobManager.Stop()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End If

End Sub
Private Sub myJobManager_UserResultAvailable(ByVal sender As Object, ByVal e As

CogJobManagerActionEventArgs)
If InvokeRequired Then
Dim myDel As New myJobManagerDelegate(AddressOf myJobManager_UserResultAvailable)
Dim eventArgs() As Object = {sender, e}
Invoke(myDel, eventArgs) '程序在这里报错
Return
End If
Dim topRecord As Cognex.VisionPro.ICogRecord = myJobManager.UserResult
RunStatusTextBox.Text = _
topRecord.SubRecords("UserResultTag").Content & ": " _
& topRecord.SubRecords("JobName").Content & " --> " _
& topRecord.SubRecords("RunStatus").Content.ToString

Dim tmpRecord As Cognex.VisionPro.ICogRecord
tmpRecord = topRecord.SubRecords("ShowLastRunRecordForUserQueue")
tmpRecord = tmpRecord.SubRecords("LastRun")
tmpRecord = tmpRecord.SubRecords("CogFixtureTool1.OutputImage")
CogRecordDisplay1.Record = tmpRecord
CogRecordDisplay1.Fit(True)
End Sub
End Class

××××××××××××××××××××××××
‘’报错信息:
未处理 System.IndexOutOfRangeException
Message="Index was outside the bounds of the array."
Source="System.Windows.Forms"
StackTrace:
at System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method,

Object[] args, Boolean synchronous)
at System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)
at WindowsApplication1.Form1.myJobManager_UserResultAvailable(Object sender,

CogJobManagerActionEventArgs e) in D:\My Documents\Visual Studio 2005

\Projects\WindowsApplication2\WindowsApplication2\Form1.vb:line 88
at Cognex.VisionPro.QuickBuild.CogJobManager.OnUserResultAvailable()
at Cognex.VisionPro.QuickBuild.CogJobManager.UserQueueEnqueue(ICogRecord record)
at

Cognex.VisionPro.QuickBuild.Implementation.Internal.CogJobControl.IndependentProcessingThrea

d()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.runTryCode(Object userData)
at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup

(TryCode code, CleanupCode backoutCode, Object userData)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext,

ContextCallback callback, Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext,

ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
(完)


VB是什么?
这说明不了解Visual Basic. NET成为它普及的最大障碍。Visual Basic .NET 2005 2005-完美主义的Visual Basic,能否再现辉煌? 为了让Visual Basic有最佳的开发体验,Visual Basic 2005的设计者绞尽了脑汁。这次Visual Basic 2005光语言上的改进就足以让Visual Basic的开发人员高兴一阵子。大家可以去看看我那篇介绍Visual ...

什么是VB?什么是VC?它们有什么区别?
nVC适合组织大工程(VB就不行) nBorlandC++或C++Builder也很不错,并不比VC差。但BC的版本兼容性不好,从3.1到4.0就出现“代沟”,而且VC提供了极为丰富...编程会过时吗?这个问题,让我先问你一个问题:计算机会消失吗?这两者答案是一样的。知道了计算机会不会消失,就知道了编程会不会过时。 编程工具会过时,而...

关于VB程序RND函数的问题
最简单最直观的方法:在DO循环外声明一个包含10个元素的一维数组,用于存储出现0-9的次数。在DO循环内生成i之后,将其对应的元素加1。例如:循环外:dim j(0 to 9) as int 循环内:j(i)=j(i)+1 最后的结果是:j数组内的每个元素包含了出现的次数。即:j(0)的值是0出现的次数;j(1)的...

vb.net提取特定字符后面的内容
自己看看正则表达式就行了。我只给个Demo,剩下的你自己领悟 Module Module1 Sub Main() Dim reg = New System.Text.RegularExpressions.Regex("参数\\d+:\\s+([^\\s]*)[\\s<]+") For Each a As System.Text.RegularExpressions.Match In reg.Matches("1 参数1: D50R5 参数2: ...

编程大神帮我看看这个程序为什么有问题(VB程序)?
定时器函数中 timer1_time(),不要直接使用n,而是使用一个隐藏的文本框来保存n,不同函数中n是不相通的。

高手看一下这个VB程序有什么问题导致死循环?
下面这段有问题:line2:p = 2 * Pi * a t = 2 * a * alpha h = Vs \/ (v0 * Pi * p * (p - 2 * t) * (3 - thetaStar \/ Pi))n = Vs \/ (2 * Pi * p * (p - 2 * t) * h) + thetas \/ (2 * Pi) + 0.5 If t < tMin Or h \/ (p - t) > M...

VB高手看看这个该如何表示
s(i) = rs.Fields(i)就可以了

麻烦VB高手帮我看看我这个mscomm控件的程序哪里出错了,为什么Private S...
你 还指望 OnComm() 事件能发生嘛?通常,串口设置、打开 放 Form_Load 事件里,如下 Private Sub Command1_Click()MSComm1.Output = "a1121" '向串口发送字符串"abcd"End Sub Private Sub Form_Load()MSComm1.Settings = "9600,N,8,1" '设置波特率、校验位、数据位、停止位的字符串 MSC...

vb中创建ini文件的问题
End If End If ReadInt = ReturnLng End Function Public Property Get ErrorMsg() As String ErrorMsg = ErrorMsg1 End Property 我在VB6.0下调试没有一点问题,不知道你怎么会出错,需要的话给我消息帮你看看,另外这个是一个类,所以你应该放在ClsName。cls中,不知道你是否一切操作正确 ...

大家帮我看看VB串行通信程序出什么问题了
MSComm1.Settings = "9600,n,8,1"MSComm1.InBufferSize = 512 MSComm1.OutBufferSize = 512 MSComm1.RThreshold = 1 MSComm1.PortOpen = True End Sub Private Sub MSComm1_OnComm()Dim RcvByte() As Byte Dim strHex As String strHex = ""Select Case MSComm1.CommEvent Case comEvReceive...

资中县13375023010: 大神你们好,请帮我看一下这段vb.net的 Invoke代码是什么意思... -
邰高唯善: 其实这行代码和C_RunCompleted(image, Nothing)的效果类似,但在BackgroundWorker中解决了“线程安全”的问题.你可以把多线程看成几个工人同时干活.如果大家都共用一份材料,然后我给它补一块,你给它割一块,他再把其它材料焊上去,岂不是乱套了?Invoke的作用就是用一个线程模型调用方法,让主线程先放一边,这样就不会乱套了,也就是“线程安全”.你试试直接改成上面的代码,运行时会引发跨线程异常

资中县13375023010: 帮我看看这个VB.net,Invoke老是报错,怎么修改? -
邰高唯善: (补充:) Private Sub myJobManager_Stopped(ByVal sender As Object, ByVal e As CogJobManagerActionEventArgs) If InvokeRequired Then Dim myDel As New myJobManagerDelegate(AddressOf myJobManager_Stopped) Dim eventArgs()...

资中县13375023010: vb.net是什么
邰高唯善: VB.net是微软最新平台技术,是.netframeworkSDK的一种语言.VB.net和VC#.net在功能上没有区别.编译以后生成的可执行文件被称为Assembly,即程序集.

资中县13375023010: vb.net是做什么的?应用在哪些方面? -
邰高唯善: 基于.net框架下的VB编程语言..net主要是为适应不同环境下的程序设计而提出的.有VB6的基础,学习这个很容易的.

资中县13375023010: vb.net那里下载 -
邰高唯善: 官方下载地址:http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-basic-express 此为:vb.net express版本,没有时间限制

资中县13375023010: 使用VB.net来完成一个系统,要用什么软件? -
邰高唯善: VB.net属于Visual Studio的一部分,如同word属于office的一部分,不能单独下载,现在最新版本是Visual Studio 2010,很多人在用,建议你下载最新版本.

资中县13375023010: vb.net 是否很难 -
邰高唯善: 其实不是很难,关键你是想糊弄自己还是真的想学,其实vb.net和vb只是有点语法相似的两种语言,很多人将vb的例子拿到知道上让人改成vb.net的,想以此学会vb.net,结果被很多人说是穿了马甲的vb 实际上先找个教学视频看,关键是找个简单一点的好入门的,并不是面面俱到,买一本vb.net(***版)的程序设计教程,两者结合在加上一些练习就可达到初级水平,而后可以买从入门到精通之类的.比如你要学CheckBox控件属性的使用可以在书上查或到网上查“vb.net CheckBox” 如果你要学基本的字符串(数组或数字)操作可以查找 格式化数字及Array、From的使用,甚至正则表达式的使用 所有的都得一步步的做

资中县13375023010: VB.NET的前途怎样? -
邰高唯善: 微软的自主编程工具主要就是BASIC系列 QB->VB->VB.NET,使用这个语言的程序员有很多,微软是不会丢下它的(不像其它语言,被微软收购后就停滞不前或干脆消失,比如VF),反而会将它发扬光大.VB.NET是基于.NET框架的完全对向...

资中县13375023010: 可以帮我解释一下,这段VB.net的代码写的是什么吗?
邰高唯善: 这里只是新建一个数据库连接对象SqlConnection 在初始化数据连接对象时候设置连接字符串为: WebConfigurationManager.ConnectionStrings("MWDB" & Session("CONNSTR") & "CONNSTR").ConnectionString.ToString 这意思是从...

资中县13375023010: vb和vb.net是一样的吗?有什么不同? -
邰高唯善: 1、从OOP概念上讲,VB不是一个真正的面对对象的语言,他不支持继承等一些面对对象的特性,而VB.net是一个面对对象的语言,支持这些特性2、VB和VB.net都可以用来网络编程的,这点可以肯定,两者都有这个功能 VB是通过控件进行网...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网