Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.032 c
1-1110461672
syte_ser78
2005-03-10 16:34
2005.03.27
сколько дней между двумя датами


1-1110548376
Шурик Ш
2005-03-11 16:39
2005.03.27
Не могу открыть на чтение файл, который занят другим процесом...


1-1110512730
SerKom
2005-03-11 06:45
2005.03.27
Как заставить окно минимизироваться на месте, а не над пан. задач


1-1110625305
iffi
2005-03-12 14:01
2005.03.27
Окно поверх всех других!


11-1093384077
Алексей
2004-08-25 01:47
2005.03.27
Юникод




   Наверх