Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.08.25;
Скачать: CL | DM;

Вниз

AccessViolation, из-за чего???   Найти похожие ветки 

 
Den[NSP]   (2003-08-09 19:37) [0]

Описываю программку:

Unit1:
Добавлена единственная процедура FormCreate, на форме ничего нет

...
procedure TForm1.FormCreate(Sender: TObject);
var
Var1: Boolean;
begin
Var1 := True;
if Var1 then Form2.Label1.Caption := "1"
else Form2.Label1.Caption := "2";
end;
...


Unit2:
На форму добавлен компонент Label1, процедур нет


при запуске возникает AccessViolation. Из-за чего???
Нечто подобное уже было несколько раз в других программах под Delphi6 и Delphi7. Под Delphi5 никогда не было.


 
Семен Сорокин ©   (2003-08-09 19:51) [1]

Делаешь в OnCreate формы Form1, а формы наверняка AutoCreate, и поэтому Form2 еще не создана, а ты к ней обращаешься: Form2.Label1.Caption - в этом и трабла. И научись пользоваться отладкой (пошаговый выполнением).


 
nikus ©   (2003-08-09 20:01) [2]

Решение сей траблы:
открываешь файл проекта (.dpr)
Меняешь местами строчки
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);

Имеешь то что надо =)


 
Anatoly Podgoretsky ©   (2003-08-09 20:05) [3]

AV возможно иметь не будет, но главная форма будет другая. Кроме того у него использование глобальной переменной Form2, которых вполне возможно более одной.


 
Den[NSP]   (2003-08-09 20:21) [4]

Семен Сорокин © подсказал решение по поводу AutoCreate...
TForm1.FormCreate первой строчкой добавляю
Application.CreateForm(TForm2, Form2);и все...

Большое спасибо всем за ответы...

(Третий раз в жизни пишу в конференцию по Delphi, и первый раз получаю ответ)


 
sniknik ©   (2003-08-09 21:54) [5]

по моему проще в TForm1.FormShow код перенести (onShow)

на случай если понадобятся Hide/Show сделать условие на одноразовость. но это не часто нужно можно обойтись



Страницы: 1 вся ветка

Текущий архив: 2003.08.25;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.015 c
14-81942
MsGuns
2003-08-06 21:22
2003.08.25
Спасибо клонам и клопам


1-81720
Dmitriy
2003-08-10 23:08
2003.08.25
WM_OPEN_FILE


1-81764
Berezne
2003-08-14 12:02
2003.08.25
Глюки при печати


1-81831
dataMaster
2003-08-13 12:58
2003.08.25
OpenDialog и его размеры


14-81904
Nodo
2003-08-02 23:43
2003.08.25
интерфейс в стиле OfficeXP