Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Access Violation


Страницы:   1 2

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 создан и заполнен?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо