Ошибка со строками

 
#include <WinUser32.mqh>

int start()
{
   int hwnd=WindowHandle(Symbol(),Period());
   int hwnd_parent=0;

   while(!IsStopped())
   {
      hwnd=GetParent(hwnd);
      if(hwnd==0) break;
      hwnd_parent=hwnd;
   }

     
   string Buffer = "                                                                                                                     ";
   GetWindowTextA(hwnd_parent, Buffer, StringLen(Buffer)-1);
   Print(Buffer);
   
   Buffer = "                                                                                                                     ";
   GetWindowTextA(hwnd_parent, Buffer, StringLen(Buffer)-1);
   Print(Buffer);
   
   Buffer = "                                                                                                                     ";
   GetWindowTextA(hwnd_parent, Buffer, StringLen(Buffer)-1);
   Print(Buffer);

   return(0);
}

Подскажите, плиз, почему при использовании такого кода скрипт выводит во вкладке "Эксперты":

2009.04.27 21:48:44 Test2 EURUSD,Weekly: 153744: MRC - MetaTrader 4 - Демо
2009.04.27 21:48:44 Test2 EURUSD,Weekly: 153744: MRC - MetaTrader 4 - Демо Сч
2009.04.27 21:48:44 Test2 EURUSD,Weekly: 153744: MRC - MetaTrader 4 - Демо Счет

Т.е. обрезает последние два символа. Может дело в Юникоде или ещё чём?


PS. У кого скрипт не откомпилируется, необходимо добавить импорт функции

int GetParent(int hWnd);

в WinUser32.mqh

 
Вкратце, данный скрипт для примера находит хендл главного окна МетаТрейдера и получает его заголовок 3 раза.
 
?
 

сделал так и всё заработало

   Buffer = "                                                                                                                     ";
   GetWindowTextA(hwnd_parent, Buffer, StringLen(Buffer)+1);
   Print(Buffer);

2009.04.28 10:31:01 asasdadas GBPUSD,H1: 13482: MetaTrader 4 ~ Ft-Trade - Äåìî Ñ÷åò - [GBPUSD,H1]
2009.04.28 10:31:01 asasdadas GBPUSD,H1: 13482: MetaTrader 4 ~ Ft-Trade - Äåìî Ñ÷åò - [GBPUSD,H1]
2009.04.28 10:31:01 asasdadas GBPUSD,H1: 13482: MetaTrader 4 ~ Ft-Trade - Äåìî Ñ÷åò - [GBPUSD,H1]


 
sergeev >>:

сделал так и всё заработало

2009.04.28 10:31:01 asasdadas GBPUSD,H1: 13482: MetaTrader 4 ~ Ft-Trade - Äåìî Ñ÷åò - [GBPUSD,H1]
2009.04.28 10:31:01 asasdadas GBPUSD,H1: 13482: MetaTrader 4 ~ Ft-Trade - Äåìî Ñ÷åò - [GBPUSD,H1]
2009.04.28 10:31:01 asasdadas GBPUSD,H1: 13482: MetaTrader 4 ~ Ft-Trade - Äåìî Ñ÷åò - [GBPUSD,H1]


Чудненько. Только теперь возможен выход за пределы массива, если строка будет слишком длинная. И в перспективе МетаТрейдер вылетит с недопустимой операцией.