Главная страница
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.009 c
2-1257530320
Zalm
2009-11-06 20:58
2010.01.17
Странности с TMediaPlayer


15-1258068949
Германн
2009-11-13 02:35
2010.01.17
Перевод с ... на всемирный


10-1161933035
incms
2006-10-27 11:10
2010.01.17
Онибка при вызове метода интерфейса


2-1259253418
Molchanov
2009-11-26 19:36
2010.01.17
WndProc vs WindowProc


2-1259046700
zorik
2009-11-24 10:11
2010.01.17
Уничтожение последней MDIChild-формы