VB.NET做的程序在其它机器上运行时出现问题,求助!
缺少运行库
东川网站制作公司哪家好,找创新互联建站!从网页设计、网站建设、微信开发、APP开发、响应式网站等网站项目制作,到程序开发,运营维护。创新互联建站自2013年起到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联建站。
装上.NETframework
和带上引用的插件(工程属性那有个引用页)
吧
.
VB.NET中,PInvoke 函数 GetWindowThreadProcessId 调用导致堆栈不对称
题主用的是 VB6 时代的 Windows API,那里面的 Long 类型相当于 .NET 里的 Int32,声明 API 时要把所有 Long 类型替换成 Int32 才可以正常使用,否则堆栈溢出。
另外操作内存这种函数需要管理员权限来运行,否则程序会报错甚至崩溃。
VB.net的默认堆栈有多大?如何修改默认堆栈大小
默认堆栈大小1 MB
具体的我也不了解,在MSDN上找了到了点东西看看对你有没帮助:
建立新线程指定并线程的最大堆栈大小:
用EDITBIN的/STACK选项:
不行还是在C++那里想办法吧,比如减少堆栈的使用,少用递归之类的。
水平不够就说这些了。
求大神修改 vb.net SetWaitableTimer(mlTimer, ft, 0, 0, 0, 0) 导致堆栈不对称 怎么修改?
Imports System.Runtime.InteropServices
Module APIs
StructLayout(LayoutKind.Sequential)
Public Structure FILETIME
Public dwLowDateTime As UInteger
Public dwHighDateTime As UInteger
Public ReadOnly Property Value() As ULong
Get
Return CType(dwHighDateTime 32, ULong) + dwLowDateTime
End Get
End Property
End Structure
Public Delegate Sub TimerCompleteDelegate()
DllImport("kernel32.dll")
Public Function CreateWaitableTimer(lpTimerAttributes As IntPtr, bManualReset As Boolean, lpTimerName As String) As IntPtr
End Function
DllImport("kernel32.dll")
Public Function SetWaitableTimer(hTimer As IntPtr, ByRef ft As Long, lPeriod As Int32, pfnCompletionRoutine As TimerCompleteDelegate, pArgToCompletionRoutine As IntPtr, fResume As Boolean) As Boolean
End Function
Public Function SetWaitableTimer(hTimer As IntPtr, ByRef ft As Long, lPeriod As Int32) As Boolean
Return SetWaitableTimer(hTimer, ft, lPeriod, Nothing, IntPtr.Zero, True)
End Function
End Module
SetWaitableTimer的声明错了
网页标题:vb.net堆栈 vs2010 堆栈大小设置
URL标题:http://scgulin.cn/article/dohhigh.html