Форум: "Основная";
Текущий архив: 2005.03.27;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.039 c