![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Че-то я ничего не понимаю... [XP]
Kolan © (2006-10-14 20:19:00)Здравствуйте,
Не пойму в чем ошибка:
TByteArrayObject = class(TInterfacedObject, IByteArrayObject)
private
FArray: TByteArray;
function TByteArrayObject.GetHigh: Integer;
begin
Result := High(FArray); // Compile Error
end;
На указанной строчке получаю:
[Pascal Error] KArrayTypes.pas(76): E2066 Missing operator or semicolon
Что не так?
PS
D2006
Kolan (2006-10-14 21:35:00) [1]
> Лучше переименовать, а то будешь нарываться на ошибки, которые
> компилятор не сможет определить, дай более значимое имя
> ХайЧего
>
Да так и сделаю тк System прописывать надо много где - оч. напрягает
Anatoly Podgoretsky (2006-10-14 21:18:00) [2]Kolan © (14.10.06 20:34) [8]
Лучше переименовать, а то будешь нарываться на ошибки, которые компилятор не сможет определить, дай более значимое имя ХайЧего
RASkov (2006-10-14 20:58:00) [3]> [13] Kolan © (14.10.06 20:53)
:)) надеюсь вопрос решен?
Kolan (2006-10-14 20:53:00) [4]
> RASkov (14.10.06 20:43) [12]
Комрад, искрене благодарю за помощь, но.... :)
> Ниче не понял:(
Это я тебя не понял.. Конечно в посте 0 я привел не полный класс...
> Ну так и написать вот так
Ну я понимаю :)
> Если конечно System у тебе не переопределен:)
>
Упаси бог.
> .....
> function GetCountArray: Integer;
> public
> property CountArray: Integer read GetCountArray;
> .....
>
> function TByteArrayObject.GetCountArray: Integer;
> begin
> Result:=High(FArray);
> end;
>
> Сделай так.
Перефразирую Кузьмича из "Особенностей нац. охоты" - англйский язык учи, прегодится :)
High(FArray); - возврошает индекс последнего элемента массива.
GetCountArray- плохо переводится на русский, так как должно бы выглядеть так:
GetArrayCount- и переводится это "Получить кол-во эл. в массиве". Так что....
В любом случае, всех благодарю :)
RASkov (2006-10-14 20:43:00) [5]> Наверно просто имя расширить удобнее...
.....
function GetCountArray: Integer;
public
property CountArray: Integer read GetCountArray;
.....
function TByteArrayObject.GetCountArray: Integer;
begin
Result:=High(FArray);
end;
Сделай так.
RASkov (2006-10-14 20:39:00) [6]Если я правильно понял, то у тебя в этом классе есть свойство High и для получения его значения function GetHigh: Integer;
то [10]. Если конечно System у тебе не переопределен:)
RASkov (2006-10-14 20:36:00) [7]> [8] Kolan © (14.10.06 20:34)
Ну так и написать вот так
function TByteArrayObject.GetHigh: Integer;
begin
Result := System.High(FArray);
end;
RASkov (2006-10-14 20:35:00) [8]> В этом варианте получится класс(выделен жирным), функция,
> и.. короче белиберда :)
Ниче не понял:(
Kolan (2006-10-14 20:34:00) [9]
> А как лучше решить?
Наверно просто имя расширить удобнее...
RASkov (2006-10-14 20:33:00) [10]> Result := System.Low(FArray);
Kolan (2006-10-14 20:32:00) [11]
> по имени High есть
Точно.
Так, спать еще не пойду. А как лучше решить? Просто расширить имя
Result := System.Low(FArray);
или имя свойства изменить?
> RASkov (14.10.06 20:20) [2]
Благодарю за помощь.
В этом варианте получится класс(выделен жирным), функция, и.. короче белиберда :)
TByteArrayObject = class(TInterfacedObject, IByteArrayObject)
>
> private
> FArray: TByteArray;
> end;
> function TByteArrayObject.GetHigh: Integer;
> begin
> Result := High(FArray); // Compile Error
> end;
RASkov (2006-10-14 20:29:00) [12]> Ты бы хоть на русский перевести попробовал, что ли...
Мне это не надо:) я знаю эту ошибку.
Исходя из [0] - пропущен end; к новому классу.
Остальное верно - если только не [4]
DrPass (2006-10-14 20:26:00) [13]
> Ошибка - Не законченная строка(или как там еще).
Ты бы хоть на русский перевести попробовал, что ли...
> Result := High(FArray); // Compile Error
Подозреваю, у тебя там свойство по имени High есть, или еще какая-нибудь гадость в этом духе. Которая, соответственно, скрывает собой функцию High
RASkov (2006-10-14 20:21:00) [14]> E2066 Missing operator or semicolon
Ошибка - Не законченная строка(или как там еще).
Kolan (2006-10-14 20:20:00) [15]забыл:
TByteArray = array of Byte;
RASkov (2006-10-14 20:20:00) [16]> TByteArrayObject = class(TInterfacedObject, IByteArrayObject)
>
> private
> FArray: TByteArray;
> end;
> function TByteArrayObject.GetHigh: Integer;
> begin
> Result := High(FArray); // Compile Error
> end;