Форум: "Начинающим";
Текущий архив: 2010.01.17;
Скачать: [xml.tar.bz2];
ВнизBPL и ошибки компиляции. Найти похожие ветки
← →
Drowsy (2009-11-29 13:40) [0]Нашёл в инете полезный компонент с демо-примером и попробовал установить их. Опцию Build with runtime pakages отключил.
Запускаю пример на выполнение - всё работает, а если делаю Project build, то сыпятся ошибки компиляции, типа "There is no overloaded version of "Error" that can be called with these arguments"
Почему программа исполняется, если компилция не проходит?
← →
Anatoly Podgoretsky © (2009-11-29 13:46) [1]> Drowsy (29.11.2009 13:40:00) [0]
Предварительно удали ехе
← →
Drowsy (2009-11-29 14:21) [2]Да, точно, новый екзешник не создаётся.
А почему возникает ошибка
"There is no overloaded version of "Error" that can be called with these arguments"
function TGraphObject.GetRealKoord(Index: Integer): TFloatPoint;
begin
// 0 - левый верхний угол
// 1 - правый верхний угол
// 2 - правый нижний угол
// 3 - левый нижний угол
case Index of
0: Result := BasePoints[0];
1:
begin
Result.X := BasePoints[1].X;
Result.Y := BasePoints[0].Y;
end;
2: Result := BasePoints[1];
3:
begin
Result.X := BasePoints[0].X;
Result.Y := BasePoints[1].Y;
end;
else
TList.Error(@SListIndexError, Index); // здесь ошибка.
end;
end;
Метод TList.Error определён в Classes.pas :
class procedure TList.Error(const Msg: string; Data: Integer);
function ReturnAddr: Pointer;
asm
MOV EAX,[EBP+4]
end;
begin
raise EListError.CreateFmt(Msg, [Data]) at ReturnAddr;
end;
class procedure TList.Error(Msg: PResStringRec; Data: Integer);
begin
TList.Error(LoadResString(Msg), Data);
end;
А в модуле RTLConsts :
SListIndexError = "List index out of bounds (%d)";
← →
Игорь Шевченко © (2009-11-29 15:02) [3]
> TList.Error(@SListIndexError, Index); // здесь ошибка.
uses в студию
← →
Drowsy (2009-11-29 15:12) [4]////////////////////
unit MyGraphObjects;
////////////////////
interface
uses SysUtils, Classes, ProTypes;
.......
.......
implementation
uses Messages, Math, RTLConsts;
.........
........
end.
////////////////////
unit ProTypes;
////////////////////
interface
uses Windows, SysUtils, Graphics;
.........
........
implementation
uses Types;
.........
........
end.
← →
Игорь Шевченко © (2009-11-29 15:50) [5]Drowsy (29.11.09 15:12) [4]
Не хочешь сам себе помочь - тебе никто не поможет. Партизан фигов.
← →
Drowsy (2009-11-29 16:04) [6]
> Игорь Шевченко © (29.11.09 15:02) [3]
> uses в студию
Я же указал все uses.
> Drowsy (29.11.09 15:12) [4]
← →
Drowsy (2009-11-29 16:46) [7]Снял опцию компилятора : Typed @ operator
Теперь билдится без ошибок.
← →
Drowsy (2009-11-29 16:52) [8]{$T-}
function TGraphObject.GetRealKoord(Index: Integer): TFloatPoint;
begin
case Index of
0: Result := BasePoints[0];
1:
begin
Result.X := BasePoints[1].X;
Result.Y := BasePoints[0].Y;
end;
2: Result := BasePoints[1];
3:
begin
Result.X := BasePoints[0].X;
Result.Y := BasePoints[1].Y;
end;
else
TList.Error(@SListIndexError, Index);
end;
end;
{$T+}
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2010.01.17;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.005 c