Текущий архив: 2006.10.29;
Скачать: CL | DM;
Вниз
Че-то я ничего не понимаю... Найти похожие ветки
← →
Kolan © (2006-10-14 20:19) [0]Здравствуйте,
Не пойму в чем ошибка: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 20:20) [1]забыл:
TByteArray = array of Byte;
← →
RASkov (2006-10-14 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:21) [3]> E2066 Missing operator or semicolon
Ошибка - Не законченная строка(или как там еще).
← →
DrPass © (2006-10-14 20:26) [4]
> Ошибка - Не законченная строка(или как там еще).
Ты бы хоть на русский перевести попробовал, что ли...
> Result := High(FArray); // Compile Error
Подозреваю, у тебя там свойство по имени High есть, или еще какая-нибудь гадость в этом духе. Которая, соответственно, скрывает собой функцию High
← →
RASkov (2006-10-14 20:29) [5]> Ты бы хоть на русский перевести попробовал, что ли...
Мне это не надо:) я знаю эту ошибку.
Исходя из [0] - пропущен end; к новому классу.
Остальное верно - если только не [4]
← →
Kolan © (2006-10-14 20:32) [6]
> по имени 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:33) [7]> Result := System.Low(FArray);
← →
Kolan © (2006-10-14 20:34) [8]
> А как лучше решить?
Наверно просто имя расширить удобнее...
← →
RASkov (2006-10-14 20:35) [9]> В этом варианте получится класс(выделен жирным), функция,
> и.. короче белиберда :)
Ниче не понял:(
← →
RASkov (2006-10-14 20:36) [10]> [8] Kolan © (14.10.06 20:34)
Ну так и написать вот такfunction TByteArrayObject.GetHigh: Integer;
begin
Result := System.High(FArray);
end;
← →
RASkov (2006-10-14 20:39) [11]Если я правильно понял, то у тебя в этом классе есть свойство High и для получения его значения function GetHigh: Integer;
то [10]. Если конечно System у тебе не переопределен:)
← →
RASkov (2006-10-14 20:43) [12]> Наверно просто имя расширить удобнее...
.....
function GetCountArray: Integer;
public
property CountArray: Integer read GetCountArray;
.....
function TByteArrayObject.GetCountArray: Integer;
begin
Result:=High(FArray);
end;
Сделай так.
← →
Kolan © (2006-10-14 20:53) [13]
> 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:58) [14]> [13] Kolan © (14.10.06 20:53)
:)) надеюсь вопрос решен?
← →
Anatoly Podgoretsky © (2006-10-14 21:18) [15]Kolan © (14.10.06 20:34) [8]
Лучше переименовать, а то будешь нарываться на ошибки, которые компилятор не сможет определить, дай более значимое имя ХайЧего
← →
Kolan © (2006-10-14 21:35) [16]
> Лучше переименовать, а то будешь нарываться на ошибки, которые
> компилятор не сможет определить, дай более значимое имя
> ХайЧего
>
Да так и сделаю тк System прописывать надо много где - оч. напрягает
Страницы: 1 вся ветка
Текущий архив: 2006.10.29;
Скачать: CL | DM;
Память: 0.5 MB
Время: 0.029 c