Как передать переменную из Form1, чтобы сказать FormN в VB6? - PullRequest
1 голос
/ 16 марта 2011

Привет всем, я хочу передать переменную, которая была объявлена ​​в форме 1, чтобы сказать FormN. Скажем, это моя идея, есть два пользователя анонимный пользователь и аутентифицированный пользователь, которые входят в систему управления электронными книгами, и, очевидно, только аутентифицированный пользователь (AU) может редактировать и управлять базой данных. Теперь я хочу передать переменную скажем Flag и назначит значение флага как 0 для анонимного пользователя и 1 для AU. Мое сомнение в форме 1 (где я собираюсь установить значение флага). И как передать это значение, скажем, Form3, так что это зависит от Flag , который я установлю для включения и выключения кнопок добавления / удаления .. для анонимного и Au пользователя соответственно. Как это сделать в VB6?

Обратите внимание, что кнопка добавления / удаления добавляет и удаляет таблицу в базе данных.

Это то, что мне нужно:

В форме1

Private Sub XXX_Click()
{
     `have to initialize the flag depending on user's log-in
}

в форме 2, где я должен проверить функцию флага, чтобы я мог отключить кнопки (в зависимости от пользователя). Я сомневаюсь, где разместить эти функции?

Ответы [ 2 ]

1 голос
/ 16 марта 2011

Вы можете использовать этот способ:

В Form1 вы объявляете открытую переменную Flag и, необязательно, метод Form_Initialize ():

Public Flag as Integer
Sub Form_Initialize()
   ' here you set your default value for this var espesially if it is not 0
   Flag = 0
End Sub

В Form3 вы также объявляете публичную переменную Flag:

Public Flag as Integer
Sub Form_Initialize()
   ' here you set your default value for this var espesially if it is not 0
   Flag = 0
End Sub

затем в Form1 где-то в вашем коде вы делаете это:

Sub Your_Function()
   ' ...
   Dim f as Form3
   Set f = new Form3
   f.Flag = Me.Flag
   f.show ' or f.show vbModal
   ' ...
End Sub

и затем в Form3 Form_Load() у вас будет переменная Flag, уже установленная в правильное значение.

0 голосов
/ 16 марта 2011

Мы используем публичные переменные в модуле bas для аналогичных целей.Первая (входная) форма инициализирует эти переменные, и любые другие формы используют их.Этот подход работает в простом исполняемом файле;для файлов ActiveX EXE и DLL вы должны убедиться, что каждый сеанс инициализирует переменные для себя - публичные переменные могут иногда жить дольше, чем сеанс пользователя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...