Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.08.25;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.32 c
1-81823
BillyJeans
2003-08-13 12:50
2003.08.25
Как узнать с какого контрола перешел фокус на текущий?


8-81851
Катя
2003-04-22 14:54
2003.08.25
AVI файл


1-81612
Felk
2003-08-13 10:11
2003.08.25
Перехват вывода


4-82011
Mortal
2003-06-22 10:34
2003.08.25
CBTACTIVATESTRUCT


1-81791
frost
2003-08-14 08:57
2003.08.25
Как отобразить файл с письмом *.eml





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский