|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
Обращение к публичным переменным между формами
Однако, зравствуйте.
Имеются 2 формы и 1 модуль, в котором хранятся все процедуры и функции с общими переменными. Если на формах задействовать как-либо общие переменные, то, при их подключении, в самом приложении вылетит ошибка Access violation. Как правильно обращаться к ним? Код модуля Код:
unit Core; ---------------------------------- type Options = record X:string; Y:string[32]; end; ---------------------------------- type TCore = Class private public Conf: Options; ---------------------------------- Код формы: Код:
unit unti2; interface uses ......., Core; ---------------------------------- var Core : TCore; Form2: TForm2; implementation procedure TForm2.BitBtn1Click(Sender: TObject); var Ram:Options; begin Ram:=Core.Conf; end; ---------------------------------- Последний раз редактировалось IRorshachI, 17.11.2013 в 10:20. |
#2
|
||||
|
||||
Показывай код.
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#3
|
|||
|
|||
Коды выложил, проблема в том, что компилятор этот код пропускает, ошибка вылезает уже после запуска. Все переменные запоняются при запуске первой формы.
|
#4
|
||||
|
||||
Core не создан
Пишу программы за еду. __________________ |
#5
|
|||
|
|||
Core создается при запуске 1-й формы и все переменные читаются из текстового файла, на первой форме подобных ошибок нет и все переменные использвуются без проблем, но, видимо, при переходе на 2-ю форму с ними что-то происходит. Вопрос, как сохранять переменные при переходе с формы на форму не задействую текстовый файл?
|
#6
|
||||
|
||||
Цитата:
Вообще лучше не называть модули такими именами которыми можно потом спутать с другими идентификаторами (т.е. переменными, типами, функциями и т.п.). Мне нравится в конце имени модуля добавлять слово Unit - получится CoreUnit. Некоторые добавляют в начале имени модуля букву U - получается UCore. |