![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Люди, помогите отладить «List out of bounds» :)
Kolan © (2007-03-21 09:38:00)четвёртый день длблюсь :(
Если не включать отладочную информацию, то при исключении вообще код не показывает
Если включить, то показвывает этот код:
procedure TWinControl.PaintHandler(var Message: TWMPaint);
var
I, Clip, SaveIndex: Integer;
DC: HDC;
PS: TPaintStruct;
begin
DC := Message.DC;
if DC = 0 then DC := BeginPaint(Handle, PS);
try
if FControls = nil then PaintWindow(DC) else
begin
SaveIndex := SaveDC(DC);
try
Clip := SimpleRegion;
for I := 0 to FControls.Count 1 do
with TControl(FControls[I]) do
if (Visible and (not (csDesigning in ComponentState) or not (csDesignerHide in ControlState)) or
((csDesigning in ComponentState) and not (csDesignerHide in ControlState)) and
not (csNoDesignVisible in ControlStyle)) and
(csOpaque in ControlStyle) then
begin
Clip := ExcludeClipRect(DC, Left, Top, Left + Width, Top + Height);
if Clip = NullRegion then Break;
end;
if Clip NullRegion then PaintWindow(DC);
finally
RestoreDC(DC, SaveIndex);
end;
end;
PaintControls(DC, nil);
finally
if Message.DC = 0 then EndPaint(Handle, PS);
end;
end;
Выделеная строка на ней исключение
Я нашел участок кода, комментирование которого устраняет исключеие
Этот участок связан с рисованием графика на Чарте
Kolan (2007-03-21 09:45:00) [21]> Ну и ? Где этот участок-то?
procedure TMeasurmentGraph.Draw(Measurment: TMeasurment);
var
X, Y: TParam;
begin
// DONE: Сделать резонанс и антирез в TMeasurment. Сечас он nil.
with Measurment.ElementCharacteristicSet do
begin
BeginUpdate;
try
FRealPart.LineGraph.Draw(RealConductivity);
FImaginativePart.LineGraph.Draw(ImaginativeConductivity);
FModule.LineGraph.Draw(ConductivityModule);
finally
EndUpdate;
end;
end;
FRealPart.ResonanceGraph.Clear;
if Measurment.ParamsList nil then
with Measurment.ParamsList do
begin
if Count 0 then
begin
X := Names[rsValuesResX];
Y := Names[rsValuesResY];
if (X nil) and (Y nil) then
FRealPart.ResonanceGraph.AddXY(X.Value, Y.Value);
end;
end;
end;
Вот он :)
procedure TSerieGraph.Draw(Arr: TDoublePointArray);
var
I: Integer;
begin
//FSerie.BeginUpdate;
try
Clear;
for I := Low(Arr) to High(Arr) do
begin
AddXY(Arr[I].X, Arr[I].Y*1000);
//Sleep(10);
end;
finally
//FSerie.EndUpdate;
end;
end;
Если что еще надо выложу ессно
Ega23 (2007-03-21 09:44:00) [22]Ну и...? Где этот участок-то?