Передать Stringgrid в функцию

  • Автор темы Guest
  • Дата начала
G

Guest

#1
Выполняю похожие операции с двумя стрингридами находящимися на форме...пытаюсь вывести эти операции в процедуру(принадлежащую форме) и передать туда stringgrid через массив
StrGid: Array[1..1] of TStringGrid;
Запихиваю туда stringgrid
StrGid[1]:=StringGrid1;

передаю

потом в процедуре пытаюсь присвоить значение

StrGid[1].Cells[(R - 1),(K - 1)] := RangeMatrix[K,R];

выдает ошибку
Acces Violation
 

Вложения

E
#2
Мало кода.

Acces Violation говорит об том, что идет обращение к чемуто чего нет. Вот и смотрите в дебагере чего у вас нет. Или уже убили, но не почистили за собой.
А по тем лоскуткам что вы показали - ничего сказать нелььзя.

Да и в ошибке содержиться ее место-возбуждения. где код этого места?
 
B

BurcevD

#3
А зачем через массив, просто передай его как параметр, т.е.
procedure ... (STrGrd:TStringGrid);
и работай с ним
Кстати, ошибку он тебе дает из-та того, что это хоть и массив, но массив объектов, которые нужно создавать, соответственно создай внчалае его через Create
StrGrd[1]:=TStringGrid.Create(self);
 
E
#4
BurcevD На сколько можно понять - стринггриды (их несколько) лежат на форме, и массив потому что автор хочеет обрабатывать их сразу, а не последовательно.


А вот чего там Acces Violation автор пока скрывает, наверное это супер секретная тайна, если так, то и мне ее знать нехочецца, а то заметут в поровозе, а у меня еще куча работы несделанной. :D
 
P

Poseidon

#5
Ты уверен что у тебя получится "впихнуть" статический массив в процедуру? Что-то сомневаюсь. Скорее всего ты используешь динамический и забываешь его создать. Вот и получаешь AV.

Код:
procedure BlaBla(StrGid: array of TStringGrid);
begin
StrGid[0].Cells[1,1]:= 'бла-бла';
end;

procedure TForm1.Button1Click(Sender: TObject);
var
StrGid: array of TStringGrid;
begin
SetLength(StrGid,1);
StrGid[0]:= StringGrid1;
BlaBla(StrGid);
end;
 
E
#6
Poseidon Судя по дате вопроса, то автору скорее всего это уже не надо, т.к. он отказался от массивов, гридов, да и от программирования ваще.
И пошел в начальники, а там эти гриды массивов и массивы гридов до лампочки. :wacko:
 
P

Poseidon

#7
Месяц - это не срок. Бывало и подольше ищешь решение :(