Форум: "Основная";
Текущий архив: 2005.09.11;
Скачать: [xml.tar.bz2];
ВнизAccess Violation Найти похожие ветки
← →
nitrino © (2005-08-18 16:24) [0]Hi Всем!
Может кто подскажет в чем проблема...
Есть
type
TCellState = record
IsActive : Boolean;
Letter : Char;
Description : string [255];
end;
TCW = array of array of TCellState;
var
CW : TCW;
при попытке в другой процедуре написать
var
NewCell : TCellState;
..
CW[X,Y] := NewCell;
вылетает с Access Violation.
Спасибо!
← →
Anatoly Podgoretsky © (2005-08-18 16:31) [1]За памятью надо следить.
← →
MetalFan © (2005-08-18 16:33) [2]а где SetLength?
← →
nitrino © (2005-08-18 16:35) [3]SetLength есть, до вызова процедуры:
SetLength (CW,I,K);
..
CW[X,Y] := NewCell; //попадает в диапазон памяти
← →
Anatoly Podgoretsky © (2005-08-18 16:36) [4]nitrino © (18.08.05 16:35) [3]
А точно есть? А процедура тоже точно?
← →
nitrino © (2005-08-18 16:38) [5]Полный вариант:
procedure SetCellState (X, Y : Integer; Active : Boolean; Letter : Char; Description : string);
type
TCellState = record
IsActive : Boolean;
Letter : Char;
Description : string [255];
end;
TCW = array of array of TCellState;
var
CW : TCW;
...
procedure TfrmMain.SetCellState(X, Y : Integer; Active : Boolean; Letter : Char;
Description : string);
var
CellState : TCellState;
begin
CellState.IsActive := Active;
CellState.Letter := Letter;
CellState.Description := Description;
CW[X,Y] := CellState;
end;
← →
nitrino © (2005-08-18 16:40) [6]Ой, забыл :)
procedure TfrmMain.CreateNewCW(X,Y : Integer);
var
I,K : Integer;
begin
SetLength (CW,X,Y);
for I := 0 to X-1 do
for K := 0 to Y-1 do
SetCellState (I,K,True,#0,"");
end;
← →
MetalFan © (2005-08-18 16:52) [7]
> var
> CellState : TCellState;
> begin
> CellState.IsActive := Active;
> CellState.Letter := Letter;
> CellState.Description := Description;
> CW[X,Y] := CellState;
а зачем так, если можно написать:
> begin
> CW[X,Y].IsActive := Active;
> CW[X,Y].Letter := Letter;
> CW[X,Y].Description := Description;
?
← →
nitrino © (2005-08-18 16:56) [8]О! заработало :)) спасибо!
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.09.11;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.01 c