Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 26.03.2013, 10:47
lostbananan lostbananan вне форума
Начинающий
 
Регистрация: 05.01.2013
Сообщения: 119
Репутация: 10
По умолчанию Непонятная ошибка времени выполнения

Над решением этой пролемы я бьюсь уже не первый день. В результате - оптимизировал код:
код сейчас такой:
Код:
  for i:=0 to 10 do
  begin
    LabelIn(i);
    GridIn(i);
  end;
где
Код:
procedure TForm1.LabelIn(i:integer);
begin
  TextLabel[i] := TLabel.Create(Form1);
  TextLabel[i].Parent :=Form1;
  TextLabel[i].Caption := LabCap[i];
  TextLabel[i].Left := LabLeft[i];
end;
procedure TForm1.GridIn(i:integer);
begin
  Grid[i] := TDrawGrid.Create(Form1);
  Grid[i].Parent := Form1;
  Grid[i].Left := 1+105*i;
  Grid[i].RowCount := 1;
  Grid[i].ColCount := 1;
  Grid[i].Enabled := false;
  Grid[i].DefaultColWidth := 100;
  Grid[i].DefaultRowHeight := GridH[i];
  Grid[i].Width := 100;
  Grid[i].Height := GridH[i];
  Grid[i].Top := 600-Grid[i].Height+20;
  Grid[i].ScrollBars := ssNone;
  Grid[i].Tag   := i+1;
  Grid[i].OnDrawCell:=DrawGrid1DrawCell;
end;
Данный код выдает оишбку времени выполнения (непонятнов каком именно месте кода). Помогите разобраться с даной проблемой!
Ответить с цитированием
  #2  
Старый 26.03.2013, 10:50
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от lostbananan
Данный код выдает оишбку времени выполнения (непонятнов каком именно месте кода). Помогите разобраться с даной проблемой!
Как объявлены переменные TextLabel и Grid ?
Ответить с цитированием
  #3  
Старый 26.03.2013, 12:32
icWasya icWasya вне форума
Местный
 
Регистрация: 09.11.2010
Сообщения: 499
Репутация: 10
По умолчанию

Ну а если пройтись отладчиком?
Ответить с цитированием
  #4  
Старый 26.03.2013, 12:52
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Цитата:
Сообщение от lostbananan
...Данный код выдает оишбку времени выполнения...
А если так
Код:
procedure TForm1.GridIn(i:integer);
begin
  Grid[i] := TDrawGrid.Create(Form1);
  with Grid[i] do
  begin
  Parent := Form1;
  Left := 1 + 105 * i;
  RowCount := 1;
  ColCount := 1;
  Enabled := false;
  DefaultColWidth := 100;
  DefaultRowHeight := GridH[i];
  Width := 100;
  Height := GridH[i];
  Top := 600 - Height + 20;
  ScrollBars := ssNone;
  Tag   := i+1;
  OnDrawCell:=DrawGrid1DrawCell;
  end;
  end;
Ответить с цитированием
  #5  
Старый 26.03.2013, 13:18
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Цитата:
Сообщение от icWasya
Ну а если пройтись отладчиком?
Врятли он знает что это такое.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #6  
Старый 26.03.2013, 13:56
lostbananan lostbananan вне форума
Начинающий
 
Регистрация: 05.01.2013
Сообщения: 119
Репутация: 10
По умолчанию

К вашему сведению сре, я знаю что такое отладчик или дебагер...

Цитата:
Сообщение от poli-smen
Как объявлены переменные TextLabel и Grid ?
Код:
  TextLabel  : array[0..16] of TLabel;
  Grid  : array[0..16] of TDrawGrid;

Код поменял, первый раз - оработала без глюка, второй - опять выскочила Аксес виолатион...

Последний раз редактировалось M.A.D.M.A.N., 26.03.2013 в 14:02.
Ответить с цитированием
  #7  
Старый 26.03.2013, 14:01
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Слушай, сер, заколебал флудить, ты кнопкой "Редактировать сообщение" пользоваться умеешь или нет?
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #8  
Старый 26.03.2013, 14:02
lostbananan lostbananan вне форума
Начинающий
 
Регистрация: 05.01.2013
Сообщения: 119
Репутация: 10
По умолчанию

Кнопкой пользоваться умею. А чем я и чего флудю??
Ответить с цитированием
  #9  
Старый 26.03.2013, 14:04
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Во всех твоих темах по 10 подряд идущих сообщений, которые по хорошему можно было бы объединить в одно. Это не чат, блин. Взял да дописал сообщение, думаешь в кайф листать портянку из кучи сообщений одного пользователя.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
Этот пользователь сказал Спасибо M.A.D.M.A.N. за это полезное сообщение:
icWasya (26.03.2013)
  #10  
Старый 26.03.2013, 14:06
lostbananan lostbananan вне форума
Начинающий
 
Регистрация: 05.01.2013
Сообщения: 119
Репутация: 10
По умолчанию

Постарасю объединять.
А что-то по теме моего вопроса можешь подсказаь?
Ответить с цитированием
  #11  
Старый 26.03.2013, 14:07
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Отладчик на какую строку при AV прыгает?
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #12  
Старый 26.03.2013, 14:11
lostbananan lostbananan вне форума
Начинающий
 
Регистрация: 05.01.2013
Сообщения: 119
Репутация: 10
По умолчанию

Код:
 Application.Run;
end.
строку с end.
Ответить с цитированием
  #13  
Старый 26.03.2013, 14:28
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

А если добавить при закрытии такое наполнение разрушителя формы
Код:
 procedure TForm1.FormDestroy(Sender: TObject);
var
i:integer;
begin
for :=0 to 16 { или сколько их там есть} do
begin
(Grid[i] as TDrawGrid).Free;
(TextLabel[i] as TLabel).Free;
end;
end;
или надо проверять есть ли такие в природе.
Ответить с цитированием
  #14  
Старый 26.03.2013, 14:29
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Цитата:
Сообщение от Alegun
А если добавить при закрытии такое наполнение разрушителя формы
Код:
 procedure TForm1.FormDestroy(Sender: TObject);
var
i:integer;
begin
for :=0 to 16 { или сколько их там есть} do
begin
(Grid[i] as TDrawGrid).Free;
(TextLabel[i] as TLabel).Free;
end;
end;
или надо проверять есть ли такие в природе.
Если у компонентов стоит овнер, при прибивании оврена все компоненты на нем автоматом прибьются.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #15  
Старый 26.03.2013, 14:32
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Цитата:
Сообщение от M.A.D.M.A.N.
Если у компонентов стоит овнер, при прибивании оврена все компоненты на нем автоматом прибьются.
Я в курсе, но уж больно похоже, что этого не происходит - один раз отрабатывает, а потом AV, явно, что-то остаётся в памяти и при повторе имена совпадают.Могёт такое быть, вполне.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 02:43.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025