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

Вниз

Модальные формы и видимость глобальных переменных   Найти похожие ветки 

 
leonidus   (2008-07-14 15:36) [0]

Столкнулся со странной проблемой, в главной форме приложения описана глобальная переменная: Photos_FileList:tstrings, она используется и в других формах проекта. Так вот если другая форма (например Unit2) вызвана из главной методом Show то я не могу обратиться к переменной Photos_FileList в модуле Unit2 т.к. получаю при этом AV, но стоит мне вызвать Unit2 через ShowModal как доступ появляется. Во-первых хотелось бы понять причину такого поведения, а во вторых меня просто не устраивает вызов через ShowModal, т.к. в этом случае вызывающая форма остается на экране а мне  надо ее закрыть и открыть Unit2.


 
Плохиш ©   (2008-07-14 15:39) [1]


> т.к. получаю при этом AV


>  мне  надо ее закрыть и открыть Unit2.

Ну значит и не надо ум=ничтожать объект с адресом в Photos_FileList, при закрытии формы...


 
Правильный$Вася   (2008-07-14 15:42) [2]


>  главной форме приложения описана глобальная переменная:
>  Photos_FileList:tstrings

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


 
Поросенок Винни-Пух ©   (2008-07-14 15:42) [3]

> т.к. получаю при этом AV

Это на 100000% никак не связано с модальностью/немодальностью


 
Поросенок Винни-Пух ©   (2008-07-14 15:54) [4]

фик знает что там у тебя наваяно. вот одна из версий:

list := TstringList.Create;
Form2.Show;
list.free;

list := TstringList.Create;
Form2.ShowModal;
list.free;

В первом случае при обращении в Form2 к списку будет та ерунда, что и у тебя.
Угадай почему.


 
leonidus   (2008-07-14 15:54) [5]

Плохиш, метод Photos_FileList.Free вообще нигде не используется т.е. Photos_FileList вообще не уничтожается (это я только что заметил и уже исправил, но ошибка осталась.)

Правильный$Вася, не понимаю вас, я и так описал Photos_FileList как переменную в разделе var главной формы.

Поросенок Винни-Пух согласен что не должна такая чисто интерфейсная фишка как модальность давать такие серьезные вещи как AV...


 
Поросенок Винни-Пух ©   (2008-07-14 15:54) [6]

у тебя ошибка в программе


 
Плохиш ©   (2008-07-14 15:57) [7]


> leonidus   (14.07.08 15:54) [5]
> Плохиш, метод Photos_FileList.Free вообще нигде не используется

Что ж не удивительно, что не программа, а сплошной глюкодром...

PS. У тебя ошибка в 17й строке.


 
Плохиш ©   (2008-07-14 15:59) [8]

Хм, выделение не правильно сделал, да и пофик...


 
Anatoly Podgoretsky ©   (2008-07-14 16:12) [9]


> у тебя ошибка в программе

Одназначно, но не только там.


 
icWasya ©   (2008-07-14 16:40) [10]

а где написан
Photos_FileList:=TstringList.Create;


 
Поросенок Винни-Пух ©   (2008-07-14 16:41) [11]

Гораздо интереснее где написано Free


 
Поросенок Винни-Пух ©   (2008-07-14 16:43) [12]

А вот кстати и разгадка:

а во вторых меня просто не устраивает вызов через ShowModal, т.к. в этом случае вызывающая форма остается на экране а мне  надо ее закрыть и открыть Unit2.


 
Плохиш ©   (2008-07-14 16:44) [13]


> Поросенок Винни-Пух ©   (14.07.08 16:41) [11]
> Гораздо интереснее где написано Free

Для получения битой ссылки, Free писать не обязательно...


 
Поросенок Винни-Пух ©   (2008-07-14 16:44) [14]

То есть там у него так и есть как протелепатировано в [4]



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

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

Наверх




Память: 0.47 MB
Время: 0.042 c
15-1214914100
i
2008-07-01 16:08
2008.08.17
Delphi7 and Vista..


15-1213957352
AlexDan
2008-06-20 14:22
2008.08.17
Полетел принтер..


2-1215684594
Query
2008-07-10 14:09
2008.08.17
Query


2-1216112761
Newss
2008-07-15 13:06
2008.08.17
Создание таблицы в word


1-1196789989
Elhat
2007-12-04 20:39
2008.08.17
Определение многопользовательской / однопользовательской Windows





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