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

Проверка Image1.Picture=nil   Найти похожие ветки 

 
Denkop ©   (2003-09-08 15:44) [0]

В OnActivate пишу так:

Image1.Picture:=nil;
if Image1.Picture<>nil then
ShowMessage("not nil") else
ShowMessage("nil");

При открытии формы получаю not nil, при этом я собственноручно, строчкой выше, занулил Image1.Picture.
Или я что-то напутал или у меня это раньше работало...

ЗЫ Дурацкий вопрос, мне стыдно, но ничего не могу поделать :-(


 
ZEE ©   (2003-09-08 15:48) [1]

зачем тебе Image1.Picture ?
Скорее тебе надо Image1.Picture.Graphic


 
PVOzerski ©   (2003-09-08 15:49) [2]

Возможно, кто-то из другого потока в этом же процессе ухитряется писать по этому же адресу (например, выход за границы массива). Хотя больше похоже на глюк оптимизации.


 
Andy BitOff   (2003-09-08 15:52) [3]

Тебе точно надо использовать следующее:
Image1.Picture.Graphic:=nil;
if Image1.Picture.Graphic<>nil then
ShowMessage("not nil") else
ShowMessage("nil");


 
Denkop ©   (2003-09-08 15:54) [4]

PVOzerski >> Всё намного проще
Image1.Picture.Graphic:=nil;
if Image1.Picture.Graphic<>nil then
ShowMessage("not nil") else
ShowMessage("nil");

Получаю nil

ZEE >> Ты был прав...

Благодарю!

Всё мне стыдно, ухожу :-()


 
VMcL ©   (2003-09-08 16:43) [5]

>Denkop © (08.09.03 15:44)

Согласен, тебе должно быть стыдно :)

Picture - это свойство, при присваивании ему значения срабатывает метод SetPicture:
procedure TImage.SetPicture(Value: TPicture);
begin
FPicture.Assign(Value);
end;


... который не изменяет значение самого поля (то есть адрес экземпляра объекта) в указанный тобой nil.


 
PVOzerski ©   (2003-09-08 16:52) [6]

А ведь, не посмотрев исходники VCL, этого не узнаешь.


 
Denkop ©   (2003-09-08 16:54) [7]

:-()
:-()
:-()
:-()
......



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

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



Память: 0.46 MB
Время: 0.021 c
1-58743
alextim
2003-09-06 18:29
2003.09.18
интерфейс как в outlook


3-58585
Lion
2003-08-26 23:39
2003.09.18
Перенос данных из одной БД в другую


14-58856
Жук
2003-08-26 11:22
2003.09.18
Хранение СД-болванок


1-58614
mfender
2003-09-05 16:59
2003.09.18
Почему не работает?


3-58575
Relaxxx
2003-08-26 14:58
2003.09.18
Попуп меню в ДБГриде




   Наверх