Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Delphi 7 и WinAPI - странности работы [D7, Win95/98]


Fabr ©   (2003-09-16 14:35:00) 

GetWindowText( hwndApollo, Pchar(CurrSong[0]), 255 );

По идее эта команда должна загонять до 255 символов бувер CurrSong[0] из окна hwndApollo.
Теперь вопрос: Пока в в Delphi - то все работает нормально (и включен режим дебагера), выходим и Delphi. Все уже не работает.... он даже не перетирает предыдущее значение CurrSong[0]. В чем проблема ?

Спасибо за ответы, если можно - то в мыло.


Basilio   (2003-09-17 10:04:00) [1]

Как вариант:

var
CurrSong: string;
...
SetLength(CurrSong, MyLength);
GetWindowText(hwndApollo, PChar(@CurrSong[1]),MyLength-1);

-1 потому что там будет в конце \0 записан


Vorobyev Sergey   (2003-09-17 08:45:00) [2]

Делай так:

var
CurrSong:string;
Buffer:array[0..254] of char;

...
GetWindowText( hwndApollo, Buffer, 255 );
CurrSong := Buffer;


SPeller   (2003-09-17 07:18:00) [3]

Наверное string. Тогда понятно почему.


MBo   (2003-09-17 07:16:00) [4]

CurrSong [0]

А как объявлена эта самая текущая песнЯ?


HolACost!   (2003-09-16 20:22:00) [5]

На мыло - некогда - плохой тон!
Ты давай код, который это делает - и желательно весь кусок с вызовом!


Наверх

Титульная страница Поиск, карта сайта Написать письмо