Отчего критическая ошибка?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Отчего критическая ошибка?

Сообщение BV » 22.12.2004 (Ср) 2:37

Всем привет!
:) :) :)
Тут вот проблема есть - делаю программу для просмотра ресурсов в разных EXE и DLL файлах. Всё бы хорошо, но вот как только загружаю строковые ресурсы, постоянно выскакивает ошибка "Отправить отчёт/Не отправлять..." :cry: , так как программа совершила недостустимое. Как же мне прочесть все эти данные?

Вот собственно функция:

Public Function ResGetString(strResName As String) As String
Dim hResource As Long
Dim hGlobal As Long
Dim lpData As Long
Dim lData() As Long
Dim lSize As Long
hResource = FindResourceByNum(hModule, strResName, 6)
If hResource = 0 Then Exit Function
hGlobal = LoadResource(hModule, hResource)
lpData = LockResource(hGlobal)
lSize = SizeofResource(hModule, hResource)
If lSize = 0 Then Exit Function
ReDim lData(lSize - 1)
Call CopyMemory(lData(0), ByVal lpData, lSize)
Call FreeResource(hGlobal)
ResGetString = Str$(lData)
End Function

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 22.12.2004 (Ср) 6:14

Ну для начала посмотри на какой строке это происходит... F8 никто не отменял...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 22.12.2004 (Ср) 8:33

Щас угадаю... тут:
Call CopyMemory(lData(0), ByVal lpData, lSize)
الفيجوال بيسك الرابح

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 22.12.2004 (Ср) 10:39

Ну если copymemory объявлена как any, any, long, то всё правильно...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 6

    TopList  
cron