임프님께서 올려주신 ImpStringGrid를 사용하고 있습니다만,
제 실력이 아직 pascal 까지 커버할 역량이 못되는지라, 질문드립니다.
ImpStringGrid 속성중 Options에서 goRowSelecte를 true로 설정하면 EList Error.... 하는 에러가 나는데...
왜 그런지 모르겠네요...
에러 명칭은 아래와 같습니다.
Error : List Index out of bounds (1)
그리고 디버깅해보니 아래 함수에서 에러가 나는것까지 확인하였습니다.
goRowSelect를 false로 하면 이상없이 실행됩니다만,,, 도대체 이유를 모르겠네요.
function TImpStringGrid.SelectCell(ACol, ARow: Integer): Boolean;
var
AColumn: TColumnDef;
begin
result := inherited SelectCell(ACol, ARow);
if (ACol<FixedCols) or (ARow<FixedRows) then
begin
HideEditor;
result := false;
end;
if result then
begin
AColumn := Columns[ACol]; <== 이 부분에서 에러가 납니다.
EditorMode := (goAlwaysShowEditor in Options) and AColumn.Enabled and (AColumn.EditStyle<>exCheck);
if goRowSelect in Options then
begin
InvalidateRow(Row);
if Row<>ARow then InvalidateRow(ARow);
end;
if Assigned(FOnSelectCell) then
FOnSelectCell(Self, ACol, ARow, Result);
end;
end;
고수님들의 답변 부탁드리겠습니다.
|