Вниз
Скачать: CL | DM;

Вовремя исполнения 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.026 c
3-1153748023
DelphiLexx
2006-07-24 17:33
2006.09.24
TDBGridEh и checkbox ы


15-1157197093
Stexen
2006-09-02 15:38
2006.09.24
VC++ и дельфи


2-1157548945
learner
2006-09-06 17:22
2006.09.24
Размер динамического массива


6-1146754753
grisme
2006-05-04 18:59
2006.09.24
Клиент-Сервер


10-1123433445
Nick Denry
2005-08-07 20:50
2006.09.24
Все тот же ActiveX....




   Наверх