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

Вниз

Вовремя исполнения Form:=nil   Найти похожие ветки 

 
Всилий   (2006-08-10 12:28) [0]

Не могу понять почему вовремя работы формы сама форма равна nil.

Unit1

procedure TForm1.btn_SomeClick(Sender: TObject);
begin
 with Tfrm_Some.Create(Self) do
 try
   ShowModal;
 finally
   Free;
 end;
end;


SomeFormUnit

procedure Tfrm_Some.ButtonClick(Sender: TObject);
begin
 frm_Some.Width:=100; // AV, т.к. frm_Some:=nil
end;


В опциях проекта frm_Some - Available forms


 
Плохиш ©   (2006-08-10 12:33) [1]

frm_Some - это не форма, а переменная типа типизированный указатель.

> procedure Tfrm_Some.ButtonClick(Sender: TObject);
> begin
>  frm_Some.Width:=100; // AV, т.к. frm_Some:=nil
> end;

За такое вырываю руки без разговоров.


 
Ketmar ©   (2006-08-10 12:33) [2]

а чему ещё должны быть равна переменная? что-то я не заметил тут операции присваивания.


 
Desdechado ©   (2006-08-10 12:33) [3]

frm_Some.Width:=100;
перепиши
Width:=100;
или
Self.Width:=100;

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


 
Сергей М. ©   (2006-08-10 12:36) [4]

Не туда смотришь.

В Auto-Create forms нужно искать свою форму.

К тому же ссылки на переменную frm_Some в телах Tfrm_Some-методов вредны и во многих случаях бесполезны/бессмысленны.


 
MaxDAG ©   (2006-08-10 13:10) [5]

Для начала:
- объявить => frm_Some в области видимости TForm1
- потом "frm_Some:= Tfrm_SomeCreate(Self);" там, где и было задумано

Внутри создаваемой формы все ее свойства/методы ВСЕГДА меняй/вызывай через Self.ИзменяемоеСвойство:= Значение;


 
Сергей М. ©   (2006-08-10 13:12) [6]


> MaxDAG ©   (10.08.06 13:10) [5]


> ВСЕГДА меняй/вызывай через Self


Чтой-то вдруг так категорично - "всегда" ?)


 
Kolan ©   (2006-08-10 13:13) [7]


> Чтой-то вдруг так категорично - "всегда" ?)

Это из серии "делить на 0 недьзя" (ц)


 
Джо ©   (2006-08-10 13:15) [8]

> [5] MaxDAG ©   (10.08.06 13:10)
> Внутри создаваемой формы все ее свойства/методы ВСЕГДА меняй/вызывай
> через Self.ИзменяемоеСвойство:= Значение;

Категорично. Но зачем-же Self?


 
MaxDAG ©   (2006-08-10 13:27) [9]

Не хотите, можете не писать
нагляднее так



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

Форум: "Основная";
Текущий архив: 2006.09.24;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.043 c
15-1157243641
RASkov
2006-09-03 04:34
2006.09.24
Сенькс за помощь


2-1157282412
Gens
2006-09-03 15:20
2006.09.24
Помогите с реализацией алгоритма


3-1153292748
ksa2002
2006-07-19 11:05
2006.09.24
DBgrid проблема при перемещение курсором по полям


2-1157132770
VEZ
2006-09-01 21:46
2006.09.24
Overriding virtual method TLevelN.ItemsChanged has lower visibi


15-1157178804
Yeg
2006-09-02 10:33
2006.09.24
Перемещение кота из сельской местности в город





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский