Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вопрос передачи параметров, Передать параметры проекту 
V
    Опции темы
AlexLogos
Дата 5.5.2011, 12:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 229
Регистрация: 23.4.2009

Репутация: нет
Всего: 1



Народ, здрасте! 
Вопрос следующий: есть у меня прога которая работает с БД ORACLE. В проге несколько форм которые создаются динамически, но каждой из них надо передать несколько параметров (логин, пароль...) для того чтоб подключиться к базе.
Для начала надо авторизироваться, для этого вводим лог-пароль в форму авторизации и если все ок - загружаются иные формы:
Код

program ParserReincarnation;

uses
  Forms,
  Parser2Main in 'Parser2Main.pas' {Main},
  EnterForm in 'EnterForm.pas' {InviteForm};

{$R *.res}

begin
  Application.Initialize;
  with TInviteForm.Create(Application) do
    begin
      ShowModal;
      if ModalResult = 1 then
        begin
         Application.MainFormOnTaskbar := True;
         Application.CreateForm(TMain, Main);
         Application.Run;
        end;
      Free;
    end;
end.

Вопрос собственно как форме Main передать параметры User,Pass если ее еще нет. Можна в принцыпе обьявить User,Pass:string; в модуле проекта, но как к ним обращаться из форм?
Что-то типа:
Код

program ParserReincarnation;

uses
  Forms,
  Parser2Main in 'Parser2Main.pas' {Main},
  //AuthForm in 'AuthForm.pas' {AForm},
  EnterForm in 'EnterForm.pas' {InviteForm};

{$R *.res}
var
User,Pass:string;

begin
  Application.Initialize;
..........

Подскажите как лучше сделать?

Это сообщение отредактировал(а) AlexLogos - 5.5.2011, 12:31
PM MAIL   Вверх
Akella
Дата 5.5.2011, 13:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



Цитата(AlexLogos @  5.5.2011,  12:30 Найти цитируемый пост)
Вопрос собственно как форме Main передать параметры User,Pass если ее еще нет.

Сам-то понял, что написал?

Добавлено через 56 секунд
Можно лучше создать модуль и в нём прописать глобальные переменные? К этому модулю могут иметь доступ другие модули/формы.
PM MAIL   Вверх
AlexLogos
Дата 5.5.2011, 14:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 229
Регистрация: 23.4.2009

Репутация: нет
Всего: 1



Да, написал я немного не то что имел на уме. Напишу иначе: Как мне получить доступ к переменным описаных в модуле проекта из модуля формы которая создается в проекте (из InviteForm после ее создания)? Между двумя модулями форм понятно как получить доступ к переменным - прописать форму в uses - и работаешь. Как сделать то же для доступа к переменным проекта?
PM MAIL   Вверх
AlexLogos
Дата 5.5.2011, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 229
Регистрация: 23.4.2009

Репутация: нет
Всего: 1



Мда... Проще пока сделать общую форму которая будет хранить параметры...
PM MAIL   Вверх
Snowy
Дата 5.5.2011, 15:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



А в чём проблема?
Форма есть. Ты её создал.
Можешь обращаться к её полям прямо перед ShowModal, который и сам является методом твоей формы.
И тот же ModalResult, который ты проверяешь - он тоже поле твоей формы.
С чего ты решил, что ты не можешь так же обратиться к другим её полям?
PM MAIL   Вверх
AlexLogos
Дата 5.5.2011, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 229
Регистрация: 23.4.2009

Репутация: нет
Всего: 1



Нет, я не об этом. Как обратиться к переменным User,Pass:string; которые описаны в ParserReincarnation.dpr из юнита EnterForm.pas который входит в проект?
PM MAIL   Вверх
Akella
Дата 5.5.2011, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



в dpr объявлять переменные не комильфо
PM MAIL   Вверх
AlexLogos
Дата 5.5.2011, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 229
Регистрация: 23.4.2009

Репутация: нет
Всего: 1



Тогда вопрос - почему их там зя обьявить? И даже если это не комильфо то вопрос как к ним обратиться стоит всеравно...  smile 
PM MAIL   Вверх
Snowy
Дата 5.5.2011, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Перенеси эти переменные в юнит формы.
И оттуда потом и бери.
Зачем они тебе в dpr?
Цитата(AlexLogos @  5.5.2011,  16:02 Найти цитируемый пост)
И даже если это не комильфо то вопрос как к ним обратиться
Никак.
Если так нужно - создай метод вызова в форме, который принимает 2 переменные по ссылке.
То есть проект сам должен передать их в unit, а не юнит взять у проекта.
Проект является главным.
PM MAIL   Вверх
AlexLogos
Дата 5.5.2011, 16:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 229
Регистрация: 23.4.2009

Репутация: нет
Всего: 1



Да-да, так я уже сделал, но как-то интересно было. Спасибо!!! 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0514 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.