Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> EAccessViolation 
V
    Опции темы
chetl
Дата 20.10.2008, 12:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 12.9.2007

Репутация: нет
Всего: нет



Этот баг появился после переноса поей проги со всеми исходниками на другой комп, до этого все работало нормально.
Ошибка
Код

Project Project1.exe raised exception class EAccessViolation with message 
'Access violation at address 004C39AF in module 'Project1.exe'. Read of address 00000280'.Process stop.
появляется в строке 
Код

procedure Form1.FormActivate(Sender: TObject);
begin
datamodule12.ADOTable4.Edit;//здесь ошибка
end;

только когда идет обращение к компоненту, находящемуся в datamodule.
Если adotable4 перенести на Form1 то все компилиться без ошибок. 
PM MAIL   Вверх
Frees
Дата 20.10.2008, 12:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 9
Всего: 54



datamodule12 не создан скорее всего

Добавлено через 1 минуту и 13 секунд
а если так написать ошибка остается?
Код

procedure Form1.FormActivate(Sender: TObject);
begin
if datamodule12 = nil then
  datamodule12 := Tdatamodule12.create(Application);

datamodule12.ADOTable4.Edit;//здесь ошибка
end;



--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
chetl
Дата 20.10.2008, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 12.9.2007

Репутация: нет
Всего: нет



спс!Все получилось!
а строка 
Application.CreateForm(TDataModule2, DataModule2);
разве не создает его?

Это сообщение отредактировал(а) chetl - 20.10.2008, 12:29
PM MAIL   Вверх
Frees
Дата 20.10.2008, 12:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 9
Всего: 54



Цитата(chetl @  20.10.2008,  14:22 Найти цитируемый пост)
а строка Application.CreateForm(TDataModule2, DataModule2);разве не создает его?

1 а где она у тебя написана
2 она создаст DataModule2 а обращаешся ты к  datamodule12 


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
chetl
Дата 20.10.2008, 12:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 12.9.2007

Репутация: нет
Всего: нет



в project1.dpr (project->View Source)

Код

program Project1;

uses
  Forms,
  Unit1 in 'Unit1.pas' {Form1},
  Unit2 in 'Unit2.pas' {DataModule2: TDataModule},
  Unit12 in 'Unit12.pas' {DataModule12: TDataModule};

{$R *.res}

begin
  Application.Initialize;
  Application.CreateForm(TForm, Form1);
  Application.CreateForm(TDataModule2, DataModule2);
  Application.CreateForm(TDataModule12, DataModule12);
  Application.Run;
end.

PM MAIL   Вверх
Frees
Дата 20.10.2008, 13:03 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 9
Всего: 54



наверно у тя Form1 создалась и показываться начала 
а DataModule12 еще не успел создаться на момент FormActivate
может в этом дело


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
Sansa
Дата 21.10.2008, 18:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 173
Регистрация: 18.10.2006
Где: Королев

Репутация: 3
Всего: 6



Да, скорее всего. chetl, ты лучше вынеси создание дата-модулей повыше создания формы, а то получается некрасиво, сначала ты сам его создаешь при первом обращении, а затем он еще раз создается при участии Application
--------------------
- Здравствуйте, я Ваш патологоанатом
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0692 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.