- Код: Выделить всё
Private Type mSTATURL
cbSize As Long
dwFlags As STATURLFLAGS
ftExpires As FILETIME
ftLastUpdated As FILETIME
ftLastVisited As FILETIME
pwcsTitle As long
pwcsUrl As long
End Type
Переменные этого типа передаются ByRef в одном из методов.
Проблема вот в чём. Когда я извлекаю строковые данные
pwcsTitle, pwcsUrl с помощью вот такой функции:
- Код: Выделить всё
Public Function GetStrFromPtrA(ByVal lpszA As Long) As String
GetStrFromPtrA = String$(lstrlenA(ByVal lpszA), 0)
Call lstrcpyA(ByVal GetStrFromPtrA, ByVal lpszA)
End Function
строки получаются укороченными - pwcsUrl содержит только один символ, pwcsTitle - одно слово (букв 5).
Как я понял, перед использованием этой переменной, нужно сделать буферы для строковых переменных (объявленных как long), чтобы туда поместить результат.
Вот только как это сделать?
Кстати, исходники TLB есть.