Главная страница
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.01 c
15-1258023746
stas
2009-11-12 14:02
2010.01.17
Альтернатива TWebBrowser


15-1258032175
TUser
2009-11-12 16:22
2010.01.17
Президент послал про сверхпроводимость ...


15-1258483044
0x00FF00
2009-11-17 21:37
2010.01.17
Excel, массив длины N из одного элемента


15-1258409069
DillerXX
2009-11-17 01:04
2010.01.17
как скачать несколько десятков файлов?


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