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

Вниз

Internal error L594   Найти похожие ветки 

 
Petukhov   (2005-03-15 11:21) [0]

Добрый день.
В модуле, связанном с главной формой описано :
 LF : integer;
 Filter : array of array of integer;
В FormCreate
 LF:=3;
 SetLength(Filter,LF);
 for I:=0 to LF-1 do begin
  SetLength(Filter[I],LF);
  for J:=0 to LF-1 do Filter[I,J]:=0;
 end;
В другой форме
procedure TFFiltrStrn2.SpinEdit1Change(Sender: TObject);
var N,I,J : integer;
begin
try
N:=SpinEdit1.Value;
except
exit
end;
//
LF:=N;
//
SetLength(Filter,LF);
for I:=0 to LF-1 do SetLength(Filter[I],LF);

После добавления двух последних строчек только при попытке
Project - Build...
возникает сообщение Internal error L594
Project - Compile и Run - Run проходят

Сталкивался ли кто-нибудь с подобной ситуациеей?


 
Defunct ©   (2005-03-15 11:49) [1]

Ошибка компилятора, там видимо вас еще попросили срочно написать в борланд письмо с вложением кода, который вызвал эту ошибку.

а вот это компилируется:


Type
 TVector = Array of Integer;

 TMatrix = class
 private
    Vectors : Array of TVector;
    fDegree : integer;

    function GetItem(ACol, ARow: Integer): integer;
    procedure SetItem(ACol, ARow: Integer; const Value: integer);

 public
    property    Items[ACol, ARow: Integer]: integer read GetItem write SetItem;

    procedure   SetDegree( Degree: Integer);

    constructor Create( Degree: Integer);
    destructor  Destroy;
 end;

..
..

constructor TMatrix.Create;
begin
 SetDegree( Degree );
end;

procedure TMatrix.SetDegree;
var
  i : integer;
begin
  if Degree <= 0 then
     raise Exception.Create("Недопустимое значение размерности: D="+IntToStr(Degree) );

  fDegree := Degree;
  SetLength( Vectors, fDegree);
  for i := 0 to fDegree-1 do
      SetLength( Vectors[i], fDegree )
end;

function TMatrix.GetItem(ACol, ARow: Integer): integer;
begin
 if (ACol<0) or (ARow < 0) or (ACol >= fDegree) or (ARow >= fDegree) then
    raise Exception.Create(
          Format("Выход индекса за границу (ACol=%D, ARow=%D)",[ACol, ARow]) );

 Result := Vectors[ACol][ARow];
end;

procedure TMatrix.SetItem(ACol, ARow: Integer; const Value: integer);
begin
 if (ACol<0) or (ARow < 0) or (ACol >= fDegree) or (ARow >= fDegree) then
    raise Exception.Create(
          Format("Выход индекса за границу (ACol=%D, ARow=%D)",[ACol, ARow]) );

 Vectors[ACol][ARow] := Value;

end;

destructor TMatrix.Destroy;
var
  i : integer;
begin
  for i := 0 to fDegree do
      SetLength(Vectors[i], 0);
  SetLength(Vectors, 0);
end;


 
VMcL ©   (2005-03-15 12:19) [2]

>>Petukhov   (15.03.05 11:21)

Все обновление для D6 установлены?


 
VMcL ©   (2005-03-15 12:23) [3]

2 [2]
...обновления...



Страницы: 1 вся ветка

Текущий архив: 2005.03.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.024 c
1-1110880022
Muk
2005-03-15 12:47
2005.03.27
Программно нажать клавишу


3-1109834628
Arnold
2005-03-03 10:23
2005.03.27
Как узнать индекс записи выбранной из DBGrid


1-1110477507
greysers
2005-03-10 20:58
2005.03.27
Как определить что OLE automation object закончил свою работу ?


4-1108551201
IceBeerg
2005-02-16 13:53
2005.03.27
Beep и встроенный динамик


1-1110563816
Evg12
2005-03-11 20:56
2005.03.27
Собрать несколько файлов в один.