![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Access Violation
programmer90 © (2009-02-03 14:33:00)Здрасти.
Ищу слово в СтрингГриде
Выполяняю такой код:
function FindWord(str:string):integer;
var
stringGrid1:TStringGrid; i,j:integer; TreeView1:TTReeView;
begin
for j:=1 to SG1RC-1 do
if str=StringGrid1.Cells[1,j] then {в этой строке компилятор ругается, вроде оба стринги}
begin
result:=j;
break;
end;
end;
вызываю функцию так :
FindWord('my');
Компилятор задолбал уже с АCcess Violation...
Amoeba (2009-02-03 14:58:00) [21]
> Григорьев Антон © (03.02.09 14:52) [7]
>
>
> > programmer90 (03.02.09 14:43) [3]
> > onFormCreate StringGrid1 заполняется...
>
> Это другой StringGrid1, который является полем вашего класса
> формы.
Если это так, то рассматриваемая ф-ия должна была бы быть методом класса, а не обычной ф-ией. Хотя судя по его вопросам на форуме, наш автор вопроса еще о-о-очень долго будет выкладывать на обозрение подобные нынешнему "орехи".
Amoeba (2009-02-03 14:52:00) [22]Приведенный топикстартером код даже до говнокода не дотягивает. И глюкодромом назвать - все равно, что дать высокую оценку.
Григорьев Антон (2009-02-03 14:52:00) [23]
> programmer90 (03.02.09 14:43) [3]
> onFormCreate StringGrid1 заполняется...
Это другой StringGrid1, который является полем вашего класса формы. А в функции FindWord у вас объявлена локальная переменная StringGrid1, которая - совсем другая переменная, не имеющая к полю класса никакого отношения.
"Ах да, это правда: это точно Загоскина; а есть другой «Юрий Милославский», так тот уж мой" (С) Чичиков
programmer90 (2009-02-03 14:51:00) [24]Согласен, через ж...
Дается слово найти его в СтрингГриде, опеределенном столбце...
Как называется фунцкия сравнения двух стрингов?
Amoeba (2009-02-03 14:49:00) [25]
> programmer90 (03.02.09 14:43) [3]
>
> onFormCreate StringGrid1 заполняется...
В приведенном коде StringGrid1, к которому идет обращение, являеется локальной переменной, объявленной в представленной ф-ии. А StringGrid1, заполняемый в onFormCreate - это совсем другой StringGrid1.
Ega23 (2009-02-03 14:47:00) [26]
> onFormCreate StringGrid1 заполняется...
Не думаю. У тебя явно объявлена переменная
var
stringGrid1:TStringGrid;
И этот stringGrid1 нигде не создаётся.
З.Ы. Код вообще непонятный. Что хотел, зачем??? Всё через какую-то ж. сделано...
programmer90 (2009-02-03 14:43:00) [27]onFormCreate StringGrid1 заполняется...
Григорьев Антон (2009-02-03 14:38:00) [28]А создавать StringGrid1 кто будет? Одного объявления переменной мало, надо ещё и конструктор вызвать.
А вообще, смысл кода непонятен. Зачем что-то искать в гриде, который только что создан и потому пустой по определению?
MBo (2009-02-03 14:37:00) [29]а объект StringGrid1 создан и заполнен?