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

Вниз

caFree   Найти похожие ветки 

 
Rooot   (2007-04-03 11:13) [0]

При создании формы сначала проверяю ее на nil т.е.

if frmMain = nil then
 frmMain := TfrmMain.Create(Application);

Далее в событие Close этой же формы делаю

Action := caFree;

Закрываю форму..
Пытаюсь сново создать форму, увы форма не создается, я как полял мешает проверка условия....
Как Выгрузить форму так, чтобы переменая frmMain типа TfrmMain, сново содержала nil???


 
Плохиш ©   (2007-04-03 11:16) [1]


> чтобы переменая frmMain типа TfrmMain, сново содержала nil?

Твоя переменная - ты и устанавливай ей значение.

PS. Эта тема скоро опередит "как запуздырить туда где часики".


 
Думкин ©   (2007-04-03 11:16) [2]

Тебе синглтон нужен?


 
Knight ©   (2007-04-03 11:17) [3]

А что мешает присвоить ей значение nil?


 
Reindeer Moss Eater ©   (2007-04-03 11:17) [4]

При создании формы сначала проверяю ее на nil т.е.

Проверяешь не её, а одну из ссылок не нее.


 
Юрий Зотов ©   (2007-04-03 11:18) [5]

> Rooot   (03.04.07 11:13)  

В событии OnDestroy напишите
frmMain := nil;
и наступит счастье.


 
Reindeer Moss Eater ©   (2007-04-03 11:21) [6]

А вообще борланда пора засудить за автоматом генерируемые декларации переменных в модуле форм. За вредительство.
Сколько в мире молодых и неокрепших душ поимело искаженное представление о тождественности экземпляра формы и этих переменных.


 
Rooot   (2007-04-03 11:22) [7]


> Юрий Зотов ©   (03.04.07 11:18) [5]

Нету счастья...
Уже только как не пробовал...
frmMain.Free;
frmMain := nil;

Action := caFraa;

FreeAndNil(frmMain);

... Ни че не помогает... :o(


 
novill ©   (2007-04-03 11:22) [8]

> [0] Rooot   (03.04.07 11:13)
>Как Выгрузить форму так, чтобы переменая frmMain типа TfrmMain, сново содержала nil???


так и написать  frmMain:=nil; )))

тока учти, если у тебя будет еще одна переменная типа TfrmMain, то по ее закрытию обнуляться все равно будет frmMain )))


 
novill ©   (2007-04-03 11:25) [9]

> [7] Rooot   (03.04.07 11:22)
> Нету счастья...
> Уже только как не пробовал...
> frmMain.Free;
> frmMain := nil;

не может такого быть

> [6] Reindeer Moss Eater ©   (03.04.07 11:21)

+1
Вообще, к борланду много идеологических претензий (


 
Rooot   (2007-04-03 11:27) [10]

Да... Еще у меня форма Modal, может быть из-за этого...???


 
Reindeer Moss Eater ©   (2007-04-03 11:31) [11]

Убивать модальную форму в обработчике OnClose с помощью caFree?
Не знать, есть ли в настоящее время экземпляр модальной формы и проверять ссылку на нее на нил?

Чудно однако!


 
ЮЮ ©   (2007-04-03 11:32) [12]

> Да... Еще у меня форма Modal, может быть из-за этого...?
> ??


Тут ещё проще, безо всяких caFree и проверок на nil. Создали/закрыли/обработали/уничтожилт
frmMain - вообще логальная в этом методе. В модуле формы - убить в назидание Борланду.


frmMain := TfrmMain.Create(Application);
try
  frmMain.ShowModal;
  if frmMain.ModalResul = ... then begin

  end;
  ...    
finally
  frmMain.Free;  
end;


 
Knight ©   (2007-04-03 11:33) [13]


procedure frmMainShow;
bwgin
 with TfrmMain.Create(Application) do try
   ShowModal;
 finally
   Free;
 end;
end;


 
Юрий Зотов ©   (2007-04-03 12:59) [14]

> Reindeer Moss Eater ©   (03.04.07 11:21) [6]

Если кто-то не умеет програмировать - при чем тут Borland?


 
Думкин ©   (2007-04-03 13:01) [15]


> Reindeer Moss Eater ©   (03.04.07 11:21) [6]

Ну да и науку в топку ибо некто не читал про полинезийцев, а выводов настроил...... :(


 
Reindeer Moss Eater ©   (2007-04-03 13:10) [16]

Если кто-то  ... - при чем тут Borland?
Он в некоторой степени способствовал этому тем, что вставляет эти декларации в код проекта.


 
_Аноним   (2007-04-03 13:20) [17]


> Думкин ©


> Ну да и науку в топку

и не-науку тоже


 
Юрий Зотов ©   (2007-04-03 14:17) [18]

> Reindeer Moss Eater ©   (03.04.07 13:10) [16]

Тогда введший в любой язык понятие "указатель" тоже косвенно виноват в косяках, которые появляютя в программах, авторы которых не понимают, что такое "динамическая память"?

А переменная эта введена Борландом потому, что она нужна в автоматически генерируемом коде DPR.


 
Плохиш ©   (2007-04-03 15:25) [19]

Хм, я так понимаю, что Билл Гейтс здесь не виноват? :-(


 
Reindeer Moss Eater ©   (2007-04-03 15:37) [20]

А переменная эта введена Борландом потому, что она нужна в автоматически генерируемом коде DPR.

Я бы согласился с этим, если бы автоматическая декларация переменных убиралась бы при снятой опции "автосоздание форм". Да и то с натягом.


 
{RASkov}   (2007-04-03 15:40) [21]

> [19] Плохиш ©   (03.04.07 15:25)

К сожалению :(
:)


 
{RASkov}   (2007-04-03 15:43) [22]

А вообще Делфи не для того, чтобы на ней учились писать проги и не в коем разе не надо подстраиваться под лохов.
Ничего личного. Просто имхо.


 
Юрий Зотов ©   (2007-04-09 18:13) [23]

> {RASkov}   (03.04.07 15:43) [22]

О! Поддерживаю двумя руками!



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

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

Наверх





Память: 0.49 MB
Время: 0.079 c
8-1155501773
Jimmy
2006-08-14 00:42
2007.04.29
Не работает большой Image


2-1176199255
sergeyst
2007-04-10 14:00
2007.04.29
RightClickSelect в TreeView


1-1172839402
Maxim_k
2007-03-02 15:43
2007.04.29
RGB в HSB


11-1157112447
Vorontsov
2006-09-01 16:07
2007.04.29
Проблема с формами


15-1175791222
без имени
2007-04-05 20:40
2007.04.29
зависло! А как выключить???





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