Конференция "WinAPI" » TSWStringArray (LPWSTR) [D7, Win2k, WinXP]
 
  • AlexK © (23.04.08 09:20) [0]
    Работаю с MAPI, скажите пожалуйста, как получить/заполнить список строк из структуры формата TSWStringArray:

    TSWStringArray = record
     cValues : ULONG;
     lppszW : ^PWSTR;
    end;



    В MSDN эта структура описана: http://msdn2.microsoft.com/en-us/library/ms527596.aspx
    Также описан тип LPWSTR: http://msdn2.microsoft.com/en-us/library/cc230355.aspx

    Но что-то у меня не получается, читаю так:

    Result:= WideString(PWideChar(Value.lppszW^));



    Первая строка возвращается, а как остальные получить?
  • AlexK © (23.04.08 09:34) [1]
    Вопрос снимается, ответ уже найден:
    PWideChar(PPointerArray(Value.lppszW)[i]);
  • MBo © (23.04.08 09:59) [2]
    :)
  • suslik (23.04.08 10:03) [3]
    мог бы сначала поискать, а потом спрашивать. :)
  • Anatoly Podgoretsky © (23.04.08 11:19) [4]
    > AlexK  (23.04.2008 09:20:00)  [0]

    Цикл нужен, это же не строка, а массив Z строк.
  • AlexK © (23.04.08 14:51) [5]
    > suslik
    Мне MBo на DelphiKingdom уже ответил, ещё раз ему спасибо!

    > Anatoly Podgoretsky
    Это понятно, просто я не разобрался, что lppszW - это массив указателей.
  • Anatoly Podgoretsky © (23.04.08 16:50) [6]
    > AlexK  (23.04.2008 14:51:05)  [5]

    Есть еще и не массив указазателей, а мультистринг, окончание пустая строка. А0Б00, в реестре например используется.
  • AlexK © (24.04.08 18:49) [7]
    > Anatoly Podgoretsky ©   (23.04.08 16:50) [6]

    > Есть еще и не массив указазателей, а мультистринг, окончание
    > пустая строка. А0Б00, в реестре например используется.

    А можно подробнее? Интересно стало.
 
Конференция "WinAPI" » TSWStringArray (LPWSTR) [D7, Win2k, WinXP]
Есть новые Нет новых   [134433   +22][b:0][p:0.001]