![]()  | 
	
 
  | 
		
			
  | 	
	
	
		
		|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны | 
![]()  | 
	
	
| 
		 | 
	Опции темы | Поиск в этой теме | Опции просмотра | 
| 
		 
			 
			#1  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Всем доброго времени суток! 
		
	
		
		
		
		
		
	
		
		
	
	
	При запуске программы начала выскакивать ошибка: raised exception class EListError with message 'List index out of bounds(2)' ![]() Код: 
	program Project1;
uses
  Forms,
  Unit1 in 'Unit1.pas' {GForm},
  Unit2 in 'Unit2.pas' {IForm1},
  Unit3 in 'Unit3.pas' {IForm2},
  Unit4 in 'Unit4.pas' {IForm3};
{$R *.res}
begin
  Application.Initialize;
  Application.CreateForm(TGForm, GForm);
> Application.CreateForm(TIForm1, IForm1);
  Application.CreateForm(TIForm2, IForm2);
  Application.CreateForm(TIForm3, IForm3);
  Application.Run;
end.Не могу понять в чём может быть проблема. Прошу более опытных пользователей помочь ![]()  | 
| 
		 
			 
			#2  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 Где то перебрал с массивом, например обратился к несуществующему элементу массива типа: 
		
	
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	Код: 
	var Arr[1..10] of byte; begin s := Arr[11];//Как вариант end; String - массив символов Memo - массив строк StringGrid - 2-мерный массив строк Часто такое бывает в таком виде Код: 
	for i := 0 to Length(s) do //s : string a := s[i];//так как нумерация с нуля, то если длина 10, последний элемент 9 Код: 
	for i := 0 to Length(s)-1 do a := s[i];  | 
| 
		 
			 
			#3  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Массива в программе нет. В чём собственно и вся магия 
		
	
		
		
		
		
		
	
		
		
	
	
	 | 
| 
		 
			 
			#4  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 Падает метод Create у первой формы, там и ищи. 
		
	
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	 | 
| 
		 
			 
			#5  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Aristarh Dark, а можно по конкретней?) Где искать то?)  
		
	
		
		
		
		
		
	
		
		
	
	
	Код: 
	unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, StdCtrls, DB, ADODB, Grids, DBGrids, ComCtrls, XPMan,
  RpDefine, RpRave;
type
  TGForm = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    TabSheet3: TTabSheet;
    TabSheet4: TTabSheet;
    DBGrid1: TDBGrid;
    DataSource1: TDataSource;
    ADOTable1: TADOTable;
    ADOTable2: TADOTable;
    DataSource2: TDataSource;
    DBGrid2: TDBGrid;
    ADOTable3: TADOTable;
    DataSource3: TDataSource;
    DBGrid3: TDBGrid;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    Button7: TButton;
    Button8: TButton;
    MainMenu1: TMainMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    pe_06: TEdit;
    pe_07: TEdit;
    pe_08: TEdit;
    pe_09: TEdit;
    pe_10: TEdit;
    pe_11: TEdit;
    pe_12: TEdit;
    pe_13: TEdit;
    pe_14: TMemo;
    pe_15: TMemo;
    pe_16: TMemo;
    pe_17: TMemo;
    pe_18: TMemo;
    pe_19: TMemo;
    pe_20: TMemo;
    pe_21: TMemo;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    pe_22: TEdit;
    Label19: TLabel;
    pe_23: TEdit;
    pe_24: TEdit;
    pe_25: TEdit;
    pe_26: TEdit;
    pe_27: TEdit;
    pe_28: TEdit;
    pe_29: TEdit;
    Label20: TLabel;
    Label21: TLabel;
    Label22: TLabel;
    Label23: TLabel;
    Label24: TLabel;
    Label25: TLabel;
    Label26: TLabel;
    Label27: TLabel;
    Label28: TLabel;
    Label29: TLabel;
    pe_30: TEdit;
    Label30: TLabel;
    pe_31: TEdit;
    pe_32: TEdit;
    Label31: TLabel;
    Label32: TLabel;
    pe_33: TMemo;
    Label33: TLabel;
    pe_34: TEdit;
    pe_36: TEdit;
    Label34: TLabel;
    Label35: TLabel;
    Label36: TLabel;
    pe_01: TEdit;
    pe_03: TEdit;
    pe_02: TEdit;
    pe_04: TEdit;
    pe_35: TEdit;
    pe_05: TEdit;
    Button9: TButton;
    RvProject1: TRvProject;
    ADOConnection1: TADOConnection;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button7Click(Sender: TObject);
    procedure Button9Click(Sender: TObject);
    procedure Button8Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  GForm: TGForm;
implementation
uses Unit2, Unit3, Unit4;
{$R *.dfm}
//код
end. | 
| 
		 
			 
			#6  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 А чё где искать то?  
		
	
		
		
		
		
		
	
		
		
	
	
	  Код то где? ![]()  | 
| 
		 
			 
			#7  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 Ищи тут))) 
		
	
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	Цитата: 
	
  | 
| 
		 
			 
			#8  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 W1ndow, дело в том что ошибка начала вылетать после того как я всего навсего отключил бд, изменил структуру 2х таблиц и подключил сново. Т.е. код я вообще не менял. 
		
	
		
		
		
		
		
	
		
		
	
	
	 | 
| 
		 
			 
			#9  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 Цитата: 
	
 Это то здесь при чём? Ошибка возникает когда выполняется код программный, а если ты его не даёшь как понять где ошибка.  | 
| 
		 
			 
			#10  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Вот листинг основной формы  
		
	
		
		
		
		
		
	
		
		
	
	
	  Код: 
	unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, StdCtrls, DB, ADODB, Grids, DBGrids, ComCtrls, XPMan,
  RpDefine, RpRave;
type
  TGForm = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    TabSheet3: TTabSheet;
    TabSheet4: TTabSheet;
    DBGrid1: TDBGrid;
    DataSource1: TDataSource;
    ADOTable1: TADOTable;
    ADOTable2: TADOTable;
    DataSource2: TDataSource;
    DBGrid2: TDBGrid;
    ADOTable3: TADOTable;
    DataSource3: TDataSource;
    DBGrid3: TDBGrid;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    Button7: TButton;
    Button8: TButton;
    MainMenu1: TMainMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    pe_06: TEdit;
    pe_07: TEdit;
    pe_08: TEdit;
    pe_09: TEdit;
    pe_10: TEdit;
    pe_11: TEdit;
    pe_12: TEdit;
    pe_13: TEdit;
    pe_14: TMemo;
    pe_15: TMemo;
    pe_16: TMemo;
    pe_17: TMemo;
    pe_18: TMemo;
    pe_19: TMemo;
    pe_20: TMemo;
    pe_21: TMemo;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    pe_22: TEdit;
    Label19: TLabel;
    pe_23: TEdit;
    pe_24: TEdit;
    pe_25: TEdit;
    pe_26: TEdit;
    pe_27: TEdit;
    pe_28: TEdit;
    pe_29: TEdit;
    Label20: TLabel;
    Label21: TLabel;
    Label22: TLabel;
    Label23: TLabel;
    Label24: TLabel;
    Label25: TLabel;
    Label26: TLabel;
    Label27: TLabel;
    Label28: TLabel;
    Label29: TLabel;
    pe_30: TEdit;
    Label30: TLabel;
    pe_31: TEdit;
    pe_32: TEdit;
    Label31: TLabel;
    Label32: TLabel;
    pe_33: TMemo;
    Label33: TLabel;
    pe_34: TEdit;
    pe_36: TEdit;
    Label34: TLabel;
    Label35: TLabel;
    Label36: TLabel;
    pe_01: TEdit;
    pe_03: TEdit;
    pe_02: TEdit;
    pe_04: TEdit;
    pe_35: TEdit;
    pe_05: TEdit;
    Button9: TButton;
    RvProject1: TRvProject;
    ADOConnection1: TADOConnection;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button7Click(Sender: TObject);
    procedure Button9Click(Sender: TObject);
    procedure Button8Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  GForm: TGForm;
implementation
uses Unit2, Unit3, Unit4;
{$R *.dfm}
procedure TGForm.FormCreate(Sender: TObject);
begin
//==Ширина столбцов в таблицах==<
DBGrid1.Columns[0].Width:=30;
DBGrid1.Columns[1].Width:=60;
DBGrid1.Columns[2].Width:=100;
DBGrid1.Columns[3].Width:=435;
DBGrid1.Columns[4].Width:=50;
DBGrid1.Columns[5].Width:=160;
DBGrid2.Columns[0].Width:=500;
DBGrid2.Columns[2].Width:=335;
DBGrid3.Columns[0].Width:=120;
DBGrid3.Columns[1].Width:=220;
DBGrid3.Columns[2].Width:=185;
DBGrid3.Columns[3].Width:=60;
DBGrid3.Columns[4].Width:=80;
DBGrid3.Columns[5].Width:=80;
DBGrid3.Columns[6].Width:=80;
//====>
end;
procedure TGForm.Button1Click(Sender: TObject);
var i: integer;
begin
//=====Обновляем поисковые базы=====<
IForm1.DBComboBox2.Items.Clear;
IForm1.DBComboBox2.DataSource:=GForm.DataSource2;
with ADOTable2 do
  begin
  Open;
  First;
  while not EOF do
    begin
    IForm1.DBComboBox2.items.add(FieldByName('Адрес').AsString);
    next;
  end;
end;
IForm1.DBComboBox2.DataSource:=GForm.DataSource1;
//================>
ADOTable1.Append;
IForm1.Visible:=true;
GForm.Enabled:=false;
end;
procedure TGForm.Button3Click(Sender: TObject);
begin
ADOTable2.Append;
IForm2.Visible:=true;
GForm.Enabled:=false;
end;
procedure TGForm.Button2Click(Sender: TObject);
begin
ADOTable1.Delete;
end;
procedure TGForm.Button5Click(Sender: TObject);
begin
if MessageDlg('Вы действительно хотите удалить строку?',mtConfirmation,
[mbYes,mbNo],0)=mrNo then exit else ADOTable2.Delete;
end;
procedure TGForm.Button4Click(Sender: TObject);
begin
ADOTable2.Edit;
IForm2.Visible:=true;
GForm.Enabled:=false
end;
procedure TGForm.Button6Click(Sender: TObject);
begin
ADOTable3.Append;
IForm3.Visible:=true;
GForm.Enabled:=false;
end;
procedure TGForm.Button7Click(Sender: TObject);
begin
ADOTable3.Edit;
IForm3.Visible:=true;
GForm.Enabled:=false
end;
procedure TGForm.Button9Click(Sender: TObject);
begin
RvProject1.Open;
RvProject1.SelectReport('Report1', false);
RvProject1.SetParam('rr_01', pe_01.Text);
RvProject1.SetParam('rr_02', pe_02.Text);
RvProject1.SetParam('rr_03', pe_03.Text);
RvProject1.SetParam('rr_04', pe_04.Text);
RvProject1.SetParam('rr_05', pe_05.Text);
RvProject1.SetParam('rr_06', pe_06.Text);
RvProject1.SetParam('rr_07', pe_07.Text);
RvProject1.SetParam('rr_08', pe_08.Text);
RvProject1.SetParam('rr_09', pe_09.Text);
RvProject1.SetParam('rr_10', pe_10.Text);
RvProject1.SetParam('rr_11', pe_11.Text);
RvProject1.SetParam('rr_12', pe_12.Text);
RvProject1.SetParam('rr_13', pe_13.Text);
RvProject1.SetParam('rr_14', pe_14.Text);
RvProject1.SetParam('rr_15', pe_15.Text);
RvProject1.SetParam('rr_16', pe_16.Text);
RvProject1.SetParam('rr_17', pe_17.Text);
RvProject1.SetParam('rr_18', pe_18.Text);
RvProject1.SetParam('rr_19', pe_19.Text);
RvProject1.SetParam('rr_20', pe_20.Text);
RvProject1.SetParam('rr_21', pe_21.Text);
RvProject1.SetParam('rr_22', pe_22.Text);
RvProject1.SetParam('rr_23', pe_23.Text);
RvProject1.SetParam('rr_24', pe_24.Text);
RvProject1.SetParam('rr_25', pe_25.Text);
RvProject1.SetParam('rr_26', pe_26.Text);
RvProject1.SetParam('rr_27', pe_27.Text);
RvProject1.SetParam('rr_28', pe_28.Text);
RvProject1.SetParam('rr_29', pe_29.Text);
RvProject1.SetParam('rr_30', pe_30.Text);
RvProject1.SetParam('rr_31', pe_31.Text);
RvProject1.SetParam('rr_32', pe_32.Text);
RvProject1.SetParam('rr_33', pe_33.Text);
RvProject1.SetParam('rr_34', pe_34.Text);
RvProject1.SetParam('rr_35', pe_35.Text);
RvProject1.SetParam('rr_36', pe_36.Text);
RvProject1.Execute;
RvProject1.Close;
end;
procedure TGForm.Button8Click(Sender: TObject);
begin
if MessageDlg('Вы действительно хотите удалить строку?',mtConfirmation,
[mbYes,mbNo],0)=mrNo then exit else ADOTable3.Delete;
end;
end. | 
| 
		 
			 
			#11  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 А лучше засунь весь проект в архив вместе таблицами и объясни что хочешь сделать, тогда будет реальный шанс исправить ошибку 
		
	
		
		
		
		
		
	
		
		
	
	
	 | 
| 
		 
			 
			#12  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Добавил архив 
		
	
		
		
			 | 
| 
		 
			 
			#13  
			
			
			
			
		 
		
		
	 | 
||||
		
		
  | 
||||
| 
	
	
		
			
			 Ошибка находится в процедуре создания формы, ты пытаешься присвоить размер колонкам которых не существует, от сюда и ошибка. Сделай всё это в статическом режиме, тогда и кода будет меньше и ошибки этой не будет. 
		
	
		
		
		
		
		
	
		
		
	
	
	Как это сделать? В статическом режиме активизируешь таблицу(открываешь) Жмёшь 2 раза на DBGrid, жмёшь кнопку Add All Fields и там уже назначаешь имена колонкам их размер и так далее.  | 
| 
		 
			 
			#14  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 W1ndow, огромное спасибо за помощь  
		
	
		
		
		
		
		
	
		
		
	
	
	![]()  |