Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / как сделатЬ приложение многополЬзователским / 25 сообщений из 41, страница 1 из 2
28.05.2009, 14:21
    #36013253
Sagia
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделатЬ приложение многополЬзователским
Моя проблема : приложение должно бытЬ расположено на сервере и запускатЬся с клиентских компов, а уменя первыи установленныи вариант работает нормалЬно а второи установленныи говорит что приложение уже исползуется,Что делатЬ не знаю?
...
Рейтинг: 0 / 0
28.05.2009, 15:26
    #36013565
AndreyMp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделатЬ приложение многополЬзователским
Делать клиент-сервер.
...
Рейтинг: 0 / 0
28.05.2009, 16:06
    #36013755
Sagia
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделатЬ приложение многополЬзователским
А где можно посмотретЬ процедуру инсталации приложения на сетевом сервере, пожалуиста подскажите ?
...
Рейтинг: 0 / 0
28.05.2009, 16:08
    #36013766
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделатЬ приложение многополЬзователским
что посмотреть?
...
Рейтинг: 0 / 0
28.05.2009, 16:22
    #36013818
Aklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделатЬ приложение многополЬзователским
есть серверное решение, которое модет работать с несколькими соединениями (winsock в руки)
его нужно просто сделать и разместить на сервере и запустить
есть клиент, который соединяется к серверу.

в чом вопрос

4 8 15 16 23 42
...
Рейтинг: 0 / 0
28.05.2009, 17:05
    #36013941
by-pass
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделатЬ приложение многополЬзователским
если у Вас стандартный проект, скомпилированный в VB ехе-файл, то обычно в стартовой форме (модуле) ставят такой код
Код: plaintext
1.
If App.PrevInstance Then MsgBox "Программа уже запущена. Извините...", vbExclamation, App.Title: Exit Sub
который гарантирует, что на локальном компе будет запущена только одна копия программы.
если Вы расположили свою программу на сервере и пытаетесь запустить ее с разных рабочих станций, то получаете ошибку.
...
Рейтинг: 0 / 0
28.05.2009, 18:04
    #36014147
Sagia
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделатЬ приложение многополЬзователским
Вот именно я разместила приложение на сервере и оно должно запускатся на компах подключенных к серверу по мере необходимости, а оно мне дает ошибку после второго подключения: приложение уже запущено
...
Рейтинг: 0 / 0
28.05.2009, 18:07
    #36014157
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделатЬ приложение многополЬзователским
> Автор: Sagia

Компах соединенных сетевым кабелем с сервером и запускающим приложение по сети или на компах работающих в терминальной
сессии на сервере?
Если первое, то все должно работать, если второе - by-pass уже ответил ;)


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
28.05.2009, 18:29
    #36014218
Sagia
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделатЬ приложение многополЬзователским
Я сетями не занималасЬ, не приходилосЬ , пишу программки к базам данних. Вот и сеичас написала такую, а конторе функционирует сетЬ. ПосколЬку мои администратор по образованию график и разговариватЬ с ним сложно, прежде чем задоватЬ вопросы, надо самои все понятЬ. Ето значит, что ест 2 принципиалЬно разных способа организации передачи данных на комп-клиент ? Хорочо-би прочитат об етом по быстрому откуда-то.
...
Рейтинг: 0 / 0
28.05.2009, 18:44
    #36014246
Sagia
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделатЬ приложение многополЬзователским
Код: plaintext
1.
2.
3.
4.
5.
если у Вас стандартный проект, скомпилированный в VB ехе-файл, то обычно в стартовой форме (модуле) ставят такой код

If App.PrevInstance Then MsgBox "Программа уже запущена. Извините...", vbExclamation, App.Title: Exit Sub

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

Да так и естЬ- мне дает ошибку, но я так и не поняла ,что же мне сделатЬ, что-бы программа запускаласЬ со любого компа. Заранее благодарна, и извиняюсЬ са назоиливостЬ.
...
Рейтинг: 0 / 0
28.05.2009, 19:00
    #36014278
by-pass
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделатЬ приложение многополЬзователским
если у Вас есть исходники проекта:
откройте проект, найдите и закоментируйте строку, содержащую текст
Код: plaintext
App.PrevInstance
...
Рейтинг: 0 / 0
28.05.2009, 19:01
    #36014279
Sagia
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделатЬ приложение многополЬзователским
Код: plaintext
1.
2.
3.
Компах соединенных сетевым кабелем с сервером и запускающим приложение по сети или на компах работающих в терминальной
сессии на сервере?
Если первое, то все должно работать, если второе - by-pass уже ответил ;)
А могу я сама отличитЬ каким способом происходит соединение первым или вторым? Спасибо.
...
Рейтинг: 0 / 0
28.05.2009, 19:11
    #36014295
Sagia
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделатЬ приложение многополЬзователским
Код: plaintext
1.
2.
3.
если у Вас есть исходники проекта:
откройте проект, найдите и закоментируйте строку, содержащую текст

App.PrevInstance
Перерыла все фаилы проекта не нашла такои строки. Подскажите пожалуиста где, каком фаиле надо искатЬ ету строку? Спасибо
...
Рейтинг: 0 / 0
28.05.2009, 19:40
    #36014326
Sagia
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделатЬ приложение многополЬзователским
Мои администратор мне сказал, что сет у нас классическая, компы соединены серверним кабелем, что в ето случае я должна сделатЬ ,чтобы мое приложение запускалосЬ на каждом компе?? Спасибо заранее за ответ
...
Рейтинг: 0 / 0
28.05.2009, 20:22
    #36014395
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделатЬ приложение многополЬзователским
Sagia,

Наймите программиста в конце-концов.
Прочитайте учебник, начните хотя бы с этого: http://en.wikipedia.org/wiki/Client-server
и этого: http://en.wikipedia.org/wiki/Terminal_server
...
Рейтинг: 0 / 0
04.06.2009, 11:36
    #36025230
Sagia
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделатЬ приложение многополЬзователским
Это не программистский, а организационный вариант. А значит жульничание .
...
Рейтинг: 0 / 0
04.06.2009, 12:00
    #36025308
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделатЬ приложение многополЬзователским
> Автор: Sagia
> Это не программистский, а организационный вариант. А значит жульничание .

Это о чем? Что значит жульничание? Ты где нибудь видела программу для которой не нужны организационные вопросы? Да то-же
обучение пользователей работать с программой и есть организационный момент, и некоторые вещи, особенно связаные с
безопасностью вообще не делаются только програмным способом, а на 99% это именно организационные моменты обеспечения
безопасности.

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

Найми программиста!


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
04.06.2009, 12:49
    #36025485
Sagia
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделатЬ приложение многополЬзователским
Код: plaintext
Наймите программиста в конце-концов.
Про жулЬничание: это цитата самого уважаемого White Owl ,когда он в ответ на свои вoпрос получил аналогичнии ответ , а если би я могла нанятЬ програмиста, то я бы не работала.
Код: plaintext
1.
У тебя есть исходники на руках, делаешь вариант с логированием и смотришь на каком месте выдает сообщение о запущености
праграммы или просто в отладчике это смотришь, для чего делать несколько одинаковых тем? Или ты думаешь что спустя

Чего то в этом роде я от вас гуру и ожидала, помочЬ довести до ума программу, над которои работала 3 месяца. Я работаю много лет в полнои изоляции, то ,что ранЬше прилетало по воздуху теперЬ ,спасибо Интернету и вам многоуважаемые гуру, могу нарытЬ многочасовыми поисками, прошу на меня не обижатЬся, и мое профанство часто толЬко кажущееся в некоторих вопросах я разбираюсЬ хорошо.
Не поняла что ви имеете ввиду под логированием?
...
Рейтинг: 0 / 0
04.06.2009, 12:51
    #36025493
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделатЬ приложение многополЬзователским
это все слова. вы нам код показывайте, как ваша программа запускается, как обращается к базе на сервере и тд и тп
...
Рейтинг: 0 / 0
04.06.2009, 13:01
    #36025511
Sagia
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделатЬ приложение многополЬзователским
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
'***********************************************************
Private Sub Form_Load()
   Set Con = New ADODB.Connection
   Con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\Server01\Root\Master aziendale\MasterAziendale.mdb;Persist Security Info=False"
   Con.CursorLocation = adUseClient
   '
   Set rsCategorie = New ADODB.Recordset
   rsCategorie.CursorLocation = adUseClient
   Set rsTemp = New ADODB.Recordset
   rsTemp.CursorLocation = adUseClient
   Call Imposta
End Sub

Программа запускается формои на которои проверяются пароли, а потом запускается эта форма
...
Рейтинг: 0 / 0
04.06.2009, 13:06
    #36025523
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделатЬ приложение многополЬзователским
> Автор: Sagia

Покажи код, будет намного быстрее, чем объяснять.
Логирование это добавление вывода отладочных сообщений, куда угодно, в файл, БД, eventlog и т.д. с текстом о прохождении
критических участков программы и выводом содержимого критичных данных(если они есть )
например:
где-то в модуле делается глобальная функция
Код: plaintext
1.
2.
Public Sub WriteLog(sLog As String)
' Здесь код вывода sLog в файл, БД, eventlog или куда придумаешь
End Sub
Потом в каждую функцию(или только в критических местах) вставляется вызов функции логирования, например:
Код: plaintext
1.
2.
3.
4.
5.
6.
Private Sub Form_Load()
Call WriteLog("In Form_Load()")
....
' Дальше код выполняемый при загрузке формы
....
Call WriteLog("Out Form_Load()")
End Sub
После изучить лог на предмет где были и что делали.


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
04.06.2009, 13:07
    #36025527
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделатЬ приложение многополЬзователским
> Автор: Sagia
> Программа запускается формои на которои проверяются пароли, а потом запускается эта форма

Давай код формы проверки паролей


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
04.06.2009, 13:12
    #36025534
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделатЬ приложение многополЬзователским
\\Server01\Root\Master aziendale\MasterAziendale.mdb

1) этот параметр из строки соединения вынесите в настройки программы.
2) программу устанавливайте на все клиентские компы, а не на сервер.
3) на каждом клиентском компе расшаривайте серверную директорию, как локальную
4) дайте полные права на запись для всех клиентских компов для данной серверной директории
5) укажите в настройках на каждом клигнетском компе в программе нужный путь к расшаренной папке , например : H:\MasterAziendale.mdb
H:\ - это расшаренная сетевая папка \\Server01\Root\Master aziendale\
...
Рейтинг: 0 / 0
04.06.2009, 13:23
    #36025566
Sagia
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделатЬ приложение многополЬзователским
Программа которая проверяет пароли толЬко я не понимаю зачем она?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
Private Sub Form_Load()
'frmMediPragma
Set Rst = New ADODB.Recordset
'
txtLogin.Text = ""
txtPassword = ""
Password = ""
Cat = ""
Timer3.Interval =  500 
End Sub

Private Sub Timer2_Timer()
lblAvviso.ForeColor = QBColor(Rnd *  15 )
End Sub

Private Sub Timer3_Timer()
lblAvviso1.ForeColor = QBColor(Rnd *  15 )
End Sub

'***********************************************************
Private Sub txtPassword_KeyPress(KeyAscii As Integer)
'sostituire delle lettere di password con ***
If (KeyAscii >  64 ) And (KeyAscii <  144 ) Then
    Password = Trim(Password) & Chr(KeyAscii)
    KeyAscii = "42"
    Label2.Caption = Password
Else
    '
End If
End Sub
'***********************************************************
Private Sub cmdInvio_Click()
'
Filter = "ID_login = " & " '" & Trim(LCase(txtLogin.Text)) & "' " & _
          " And Password = " & " '" & Password & "' "
adUtenti.Recordset.Filter = Filter
'
lblVietatoAccesso.Visible = False
If adUtenti.Recordset.RecordCount =  0  Then
   'frmMediPragma.Show
   lblVietatoAccesso.Caption = "Login o Password non è valido, inserire di nuovo o rivolsersi ad amministratore "
   lblVietatoAccesso.Visible = True
   txtLogin = ""
   txtPassword = ""
   Password = ""
Else
   lblAvviso1.Visible = False
   lblAvviso.Visible = True
   Timer1.Interval =  100 
   Login = adUtenti.Recordset!ID_login
   Cat = adUtenti.Recordset!id_cat
End If
End Sub

Private Sub Timer1_Timer()
   Timer1.Interval =  0 
   Timer2.Interval =  500 
   Set frmMediPragma = Nothing
   Load frmSCHEMA
   Select Case Cat
      Case "0"
         frmRicerca.mnuMod.Visible = False
         frmRicerca.mnuExcel.Visible = False
         'frmRicerca.mnuWord.Visible = False
      Case "1"
         frmRicerca.mnuMod.Visible = True
         frmRicerca.mnuExc.Visible = True
        ' frmRicerca.mnuWord.Visible = True
    End Select
    frmRicerca.Show
    Unload Me
    Set frmMediPragma = Nothing
    Exit Sub
End Sub

'
...
Рейтинг: 0 / 0
04.06.2009, 14:53
    #36025813
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделатЬ приложение многополЬзователским
> Автор: Sagia
> Программа которая проверяет пароли толЬко я не понимаю зачем она?
;)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
'***********************************************************
Private Sub cmdInvio_Click()
' Попробуй ввести в txtLogin строку вида "рпм' or 1=1 --"' Это называется SQLInjection
Filter = "ID_login = " & " '" & Trim(LCase(txtLogin.Text)) & "' " & _
          " And Password = " & " '" & Password & "' "
adUtenti.Recordset.Filter = Filter
....
Private Sub Timer1_Timer()
....' Кто такая frmSCHEMA???   Load frmSCHEMA
   Select Case Cat
      Case "0"
         frmRicerca.mnuMod.Visible = False
         frmRicerca.mnuExcel.Visible = False
         'frmRicerca.mnuWord.Visible = False
      Case "1"
         frmRicerca.mnuMod.Visible = True
         frmRicerca.mnuExc.Visible = True
        ' frmRicerca.mnuWord.Visible = True
    End Select
' Кто такая frmRicerca???    frmRicerca.Show
    Unload Me
    Set frmMediPragma = Nothing
    Exit Sub
End Sub
И здесь нет проверки на запущеность другого инстанса программы.


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / как сделатЬ приложение многополЬзователским / 25 сообщений из 41, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]