Не найду StrLen для PwideChar

Общие вопросы программирования, алгоритмы и т.п.

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

Не найду StrLen для PwideChar

Сообщение ssl » 09.03.2013 14:23:02

В хелпе сказано, что есть две ипостаси (overload) функции StrLen: для PChar и для PWideChar. Но компиляция на вызов StrLen с параметром PWideChar ругается, и в исходниках только одна "ипостась" (Lasarus 1.0.4, FPC 2.6.0).
:(
Чем пользуется народ?
ssl
новенький
 
Сообщения: 59
Зарегистрирован: 17.05.2005 11:27:01

Re: Не найду StrLen для PwideChar

Сообщение Sergei I. Gorelkin » 09.03.2013 18:28:24

Length() работает для PWideChar.
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
 
Сообщения: 1405
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Re: Не найду StrLen для PwideChar

Сообщение ssl » 10.03.2013 10:31:09

Я так и сделал, как временную меру. Просто есть опасения, что параметр для Length сначала будет преобразован в строку (WideString или Unicodestring), т.е. куча лишних действий, в т.ч. и с выделением памяти. Или "оно умное"? :)
ssl
новенький
 
Сообщения: 59
Зарегистрирован: 17.05.2005 11:27:01

Re: Не найду StrLen для PwideChar

Сообщение Максим » 10.03.2013 15:03:02

ssl писал(а):и в исходниках только одна "ипостась" (Lasarus 1.0.4, FPC 2.6.0).

Плохо искали, всё там есть. Убедитесь, что используется режим компилятора objfpc или delphi и подключён модуль SysUtils.
Аватара пользователя
Максим
энтузиаст
 
Сообщения: 598
Зарегистрирован: 27.07.2007 01:51:43
Откуда: Москва

Re: Не найду StrLen для PwideChar

Сообщение ssl » 10.03.2013 15:46:28

Хм. Создаю новый проект, добавляю SysUtils:

Код: Выделить всё
program Project1;
{$mode objfpc}{$H+}
uses
  {$IFDEF UNIX}{$IFDEF UseCThreads}
  cthreads,
  {$ENDIF}{$ENDIF}
  Classes, SysUtils
  { you can add units after this };

var P: PWideChar;
begin
  StrLen(P);
end.


Получаю:
project1.lpr(14,11) Error: Incompatible type for arg no. 1: Got "PWideChar", expected "PChar"

Искал FAR'ом строку StrLen по всем файлам в каталоге D:\lazarus\fpc\2.6.0\source\rtl с подкаталогами.
StrLen(PWideChar) - нема :(
ssl
новенький
 
Сообщения: 59
Зарегистрирован: 17.05.2005 11:27:01

Re: Не найду StrLen для PwideChar

Сообщение Максим » 10.03.2013 20:00:03

Да, действительно, это появилось только в версии 2.6.2.
Аватара пользователя
Максим
энтузиаст
 
Сообщения: 598
Зарегистрирован: 27.07.2007 01:51:43
Откуда: Москва


Вернуться в Общее

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

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

Рейтинг@Mail.ru