Многомодульные программы в Delphi
Я только начинаю изучать Delphi. Сначала попробовал создать консольную программу. Тут всё просто, в точности как в знакомом мне Паскале. Сейчас разбираюсь как GUI-программы пишутся. Изучаю по книге В. В. Фаронова "Delphi. Программирование на языке высокого уровня". Насколько я понял, когда я создаю графическую форму, вместе с ней создаётся модуль, без модуля форма работать не может. То есть, GUI-программа по-любому будет многомодульной, минимум два модуля в ней будут: Unit1.pas и основная программа Project1.dpr (чтобы не путаться оставляю имена умолчальными). Что произойдёт после компиляции? Оба модуля, скомпилированных в бинарный код, будут по раздельности упакованы в Project1.exe и при запуске его в памяти будут сразу два процесса или всё же код будет один?
А как передавать значения переменных между модулями? Допустим у меня в основной программе вычисляется 36 в степени 3: Код:
result:=Exp(3*Ln(36)); Код:
procedure TForm1.FormCreate(Sender: TObject); Извините, если глупость спрашиваю, я всего лишь новичок. Дайте правильное направление мысли. |
Цитата:
Для меж.модульного взаимодействия, пропиши название модуля в uses. Вызов, как при работе с объектом Unit1.Form1.Label1.Caption := "test"; к примеру. В основном многомодульные программы появляются в случае многооконных приложений. |
Касательно передаваемых данных между модулями.
То что объявлено в интерфейсной части модуля (переменные, функции, константы), будет доступно для всех модулей, которые его импортируют. Варианты существуют разные, вот один из способов. Пример. Unit1 Код:
... Код:
... |
Цитата:
Кстати, ни в коем случае не используйте имя result в качестве имени переменной, ибо это слово зарезервировано и в функциях присваивает значение переменной, которая будет возвращаться в качестве результата работы функции. |
Цитата:
|
RasKolbas, ЕМНИП было в Delphi 6. Сейчас развернуть среду программирования пока некуда, как появится возможность, скину пример.
|
Время: 03:25. |
Время: 03:25.
© OSzone.net 2001-