Текущий архив: 2011.01.02;
Скачать: CL | DM;
Вниз
Можно ли присваивать значения полей неинициализированной формы? Найти похожие ветки
← →
DROWSY (2010-10-04 06:58) [0]Обычная неавтоинкрементная форма:
type
TForm1 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
Если её не инициировать (Form1:=nil), то
почему присвоение Form1.Caption := " "; не вызывает какого-нибудь исключения, типа AcessViolation?
← →
brother © (2010-10-04 07:27) [1]> Можно ли присваивать значения полей неинициализированной
> формы
нет
> Если её не инициировать (Form1:=nil),
это где ты смотрел?
← →
DROWSY (2010-10-04 07:40) [2]В отладчике перед присвоением, например.
Кроме того, ставил точку останова на TForm1.onCreate - не вызывается.
← →
DROWSY (2010-10-04 07:44) [3]Исключение появляется только при вызове Form1.Show или Form1.ShowModal.
← →
brother © (2010-10-04 07:48) [4]я не знаю, где и что у тебя но:
program Project1;
uses
Forms,
Unit1 in "Unit1.pas" {Form1};
{$R *.res}
begin
{ Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;}
Form1.Caption:= "234"; // нет AV но и нет присвоения
form1.AlphaBlend:= true; // AV
end.
← →
DROWSY (2010-10-04 07:56) [5]А, например,
Pan := TPanel.Create(Form1);
не вызывает исключения.
И вопрос:
память под эту панель где-то выделилась, а если
деструстор формы не вызывается (так как форма не создана),
то как освободить память от этой панели?
← →
Palladin © (2010-10-04 08:04) [6]
> Pan := TPanel.Create(Form1);не вызывает исключения.
по встречке тоже можно ездить
← →
DROWSY (2010-10-04 08:06) [7]
> по встречке тоже можно ездить
> Pan := TPanel.Create(Form1);
Этим ПДД нарушаю?
← →
DROWSY (2010-10-04 08:10) [8]А как ещё создать динамически создать на форме компонент?
← →
brother © (2010-10-04 08:11) [9]Одна ветка - один вопрос ;)
← →
RWolf © (2010-10-04 09:31) [10]
> DROWSY (04.10.10 07:40) [2]
> Кроме того, ставил точку останова на TForm1.onCreate - не вызывается.
как же она вызовется, если форму не создавали?
> Pan := TPanel.Create(Form1);
> память под эту панель где-то выделилась,
да, это полноценная панель, можно пользоваться.
то как освободить
> память от этой панели?Pan.Free
, как всегда.
← →
Amoeba_ (2010-10-04 10:31) [11]
> DROWSY (04.10.10 08:10) [8]
> А как ещё создать динамически создать на форме компонент?
>
Читать это:
Жизнь и смерть в режиме run-time
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=342
← →
Anatoly Podgoretsky © (2010-10-04 11:50) [12]> DROWSY (04.10.2010 06:58:00) [0]
А что тогда Обычная автоинкрементная форма?
← →
12 © (2010-10-04 12:15) [13]такой код еще смешнее - и мало что нет AV, так еще и не та кнопка меняет название
procedure TForm1.btn1Click(Sender: TObject);
var
b:Tbutton;
begin
b.Caption := "as";
ShowMessage( b.Caption );
end;
← →
бумбум (2010-10-04 12:34) [14]А вот так форма меняет название
procedure TForm1.btn1Click(Sender: TObject);
var
b:Tbutton;
begin
b.Caption := "as";
end;
← →
Anatoly Podgoretsky © (2010-10-04 13:03) [15]> 12 (04.10.2010 12:15:13) [13]
Потому и нет исключения, поскольку адрес верный.
← →
Anatoly Podgoretsky © (2010-10-04 13:15) [16]> бумбум (04.10.2010 12:34:14) [14]
С огнем играешь
← →
Правильный$Вася (2010-10-05 14:18) [17]
> Обычная неавтоинкрементная форма
а что это?
у тебя они что, много одинаковых под разными последовательными номерами?
мож, я отстал от жизни и такие формы действительно появились?
← →
Юрий Зотов © (2010-10-05 16:51) [18]Видимо, имелась в виду неавтосоздаваемая форма.
← →
Плохиш © (2010-10-06 00:01) [19]
> DROWSY (04.10.10 06:58)
> Если её не инициировать (Form1:=nil)
Form1 - это не форма.
← →
Игорь Шевченко © (2010-10-06 00:14) [20]Сколько ж дивных открытий можно сделать, не счесть их. А если о каждом писать, форума не хватит.
Страницы: 1 вся ветка
Текущий архив: 2011.01.02;
Скачать: CL | DM;
Память: 0.51 MB
Время: 0.007 c