Ennor писал(а):Ну что я могу сказать... Значит, МакКинни облажался.

Когда я обнаружил, что в книге Аппельмана есть грубые ошибки, для меня это тоже было потрясением...
Так что: авторы книг не боги, и к тому, что они пишут, нужно подходить со здоровым недоверием.
Ennor писал(а):С другой стороны, лично мне еще ни разу не требовалось посылать WCHAR-строки апишкам, хотя то, что это принципиальное ограничение снято, не может не радовать. Правда, остается еще один важный вопрос: как передавать юникод, если строка является частью структуры? Думаю, опять-таки потребуется эксперимент.
Если передавать не их сами, а их адрес - всё работает.
- Код: Выделить всё
Option Explicit
Private Declare Function MessageBoxW Lib "user32" (ByVal hWnd As Long, ByVal lpText As Long, ByVal lpCaption As Long, ByVal wType As Long) As Long
Type SameAsString
Data As String * 256
End Type
Sub Main()
Dim Proof As SameAsString
Proof.Data = "VB прекрасно может работать с Unicode-строками даже в структурах!"
MessageBoxW 0, VarPtr(Proof), StrPtr("МакКинни нас всех нае***!"), vbInformation
End Sub