Тип PChar

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Тип PChar

Сообщение bestonix » 01.04.2011 09:09:52

Здравствуйте уважаемые.

Подскажите пожалуйста в чем может быть проблема.
По какой то причине компилятор стал возражать против использования приведения к типу PChar.
Например ругается на строку, IntToStr(CountZeroBits( PChar(Edit1.Text[i]) )), вот такими словами
" UMain.pas(55,47) Error: Illegal type conversion: "Char" to "^Char" "

function TForm1.CountZeroBits(ch: PAnsiChar) : integer;
var i : integer;
begin
result := 0;
for i := 0 to 7 do
if ( byte(ch) and (1 shl i) ) = 0 then inc(result);
end;

Точно такой же код прекрасно работает в Delphi 7.

У меня сейчас стоит Lazarus 0.9.31 fpc 2.4.3
Но наверняка не в этом суть, потому что на 0.9.29 такая же беда.
bestonix
новенький
 
Сообщения: 66
Зарегистрирован: 15.04.2010 08:26:00
Откуда: Жигулёвск

Re: Тип PChar

Сообщение zub » 01.04.2011 09:14:00

должно быть:
IntToStr(CountZeroBits( PChar(@Edit1.Text[i]) ))
zub
долгожитель
 
Сообщения: 2886
Зарегистрирован: 14.11.2005 23:51:26

Re: Тип PChar

Сообщение bestonix » 01.04.2011 09:55:08

zub писал(а):должно быть:
IntToStr(CountZeroBits( PChar(@Edit1.Text[i]) ))


Большое спасибо. Заработало :)
bestonix
новенький
 
Сообщения: 66
Зарегистрирован: 15.04.2010 08:26:00
Откуда: Жигулёвск


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 48

Рейтинг@Mail.ru