Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.01.17;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.015 c
15-1258133500
Alx2
2009-11-13 20:31
2010.01.17
В моем городе горит склад боеприпасов


2-1258713886
Andrewtitoff
2009-11-20 13:44
2010.01.17
URL


2-1259316813
Grant
2009-11-27 13:13
2010.01.17
Объект nil, а метод вызывается!!!


3-1233310362
Konrads
2009-01-30 13:12
2010.01.17
операция деления в запросе


2-1257530320
Zalm
2009-11-06 20:58
2010.01.17
Странности с TMediaPlayer