Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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
11-1137023812
-=Mike=-
2006-01-12 02:56
2006.10.29
Нужно реализовать следующий функционал для инкрементного поиска


2-1160653527
VALUA
2006-10-12 15:45
2006.10.29
StringGrid - хранение информации


15-1160397329
Layner
2006-10-09 16:35
2006.10.29
Подскажите где есть форумы математиков желающих заработать


2-1160673500
Lala
2006-10-12 21:18
2006.10.29
Исключение EDBEitErrot в MaskEdit


6-1149249021
Nuts
2006-06-02 15:50
2006.10.29
Как узнать какие файлы открыты на компьютере по сети?