У меня не слишком сложная проблема, которую я не знаю, как решить в VB.NET 2010расширение стека в приложении
В настоящее время у меня есть рекурсивная процедура для поиска файлов и/или поиска. С рекурсивной рутиной я никогда не завершаю вызов до конца и роста процесса достаточно значителен, чтобы радикально замедлить процесс с помощью теперь большого стека.
Чтобы сделать маты хуже, я использую процедуры предварительного кодирования, которые будут принимать подстановочные знаки. Каковы они:
Public Declare Function FindFirstFile Lib "kernel32" Alias "FindFirstFileA" (ByVal lpFileName As String, ByRef lpFindFileData As WIN32_FIND_DATA) As Integer
Public Declare Function FindNextFile Lib "kernel32" Alias "FindNextFileA" (ByVal hFindFile As Integer, ByRef lpFindFileData As WIN32_FIND_DATA) As Integer
Public Declare Function GetFileAttributes Lib "kernel32" Alias "GetFileAttributesA" (ByVal lpFileName As String) As Integer
Public Declare Function FindClose Lib "kernel32" (ByVal hFindFile As Integer) As Integer
Public Declare Function LockWindowUpdate Lib "user32" Alias "LockWindowUpdate" (ByVal hwndLock As Long) As Long
Как это сделать? Они не поддаются нерекурсивной среде.
Для начала, те P/Invoke определения неверны. Похоже, вы получили их из старого проекта VB 6. VB 6 не совместим с VB.NET; определения должны быть написаны по-разному. За информацией посетите www.pinvoke.net. Не используйте также A-суффиксные версии. В течение нескольких лет Windows была полностью Unicode. –