Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Делфи _ Проблема с StringGrid

Автор: Unconnected 2.11.2008 23:23

При присваивании ячейке таблицы значения программа вылетает с ошибкой Access Violation. Присваивание происходит из "дочерней" формы, сама таблица находится в главной. Это код "дочерней" формы.

unit Unit3;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,grids;

type
TForm3 = class(TForm)
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Label3: TLabel;
Edit2: TEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form3: TForm3;

implementation
uses unit2;
{$R *.dfm}

procedure TForm3.Button1Click(Sender: TObject);
var sch1:integer;
begin
masuin[koluin]:=edit1.text+';'+edit2.text;
buf1:=masuin[koluin];
for sch1:=1 to length(buf1) do
begin
if buf1[sch1]=';' then begin
delete(buf1,sch1,1);
pass1:=buf1;
break;
end
else begin
uin1:=uin1+buf1[sch1];
delete(buf1,sch1,1);
end;
end;
form2.stringgrid1.Cells[koluin,0]:=uin1;
form2.stringgrid1.Cells[koluin,1]:=pass1;
koluin:=koluin+1;
form3.Hide;
end;

end.


Строку разбивает немного некорректно,но это я исправлю сам.

Автор: volvo 2.11.2008 23:31

// Вот в этом месте чему равен koluin ?

form2.stringgrid1.Cells[koluin,0]:=uin1;
form2.stringgrid1.Cells[koluin,1]:=pass1;
Есть столько столбцов в Гриде? (первый параметр при обращении к Cells - номер столбца, а второй - номер строки)

Автор: Unconnected 2.11.2008 23:35

Забыл сказать,koluin равен 0, я пробовал заменять его на 0 в присваивании - тоже самое. Причём если присвоить в главной форме с теми же параметрами-всё нормально.

Автор: volvo 3.11.2008 2:03

Ну, не знаю, что там у тебя за проблема... Попробовал из другой формы заполнять ячейки Грида. Все работает, ошибок не выбрасывает... Можешь снять скриншот с экрана в момент ошибки?

Автор: dron4ik 3.11.2008 2:54

может нужен перевод StrToInt или IntToStr

Автор: Unconnected 3.11.2008 15:22

Вот скриншот.
2dron4ik, в StringGrid могут располагаться произвольные текстовые строки.

Автор: Unconnected 3.11.2008 23:36

Странно...создал новый проект, в нём сделал всё то же самое...работает... smile.gif Решено. smile.gif