Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Basic / VBA


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Basic/VBA

Выпуск № 34
от 24.03.2005, 18:30

Администратор:Калашников О.А.
В номере:Вопросов: 2, Ответов: 5


Вопрос № 18460: Здравствуйте! Подскажите пожалуйста, как(какие процедуры-функции) должна иметь программа, чтоб быть корректно запущенной как сервис WinNT/2000/...? Дело вобщем-то не ограничевается VB, но в текущий момент необходима реализация именно на нём.<...
Вопрос № 18469: Уважаемые эксперты! Написал простую прогу на VB, но exe не работает на другом компе без VB, какие компоненты нужны ещё и как можно посмотреть необходимые компоненты для контролов на блоке инструментов? Как можно включить их в exe файл?...

Вопрос № 18460
Здравствуйте!
Подскажите пожалуйста, как(какие процедуры-функции) должна иметь программа, чтоб быть корректно запущенной как сервис WinNT/2000/...?
Дело вобщем-то не ограничевается VB, но в текущий момент необходима реализация именно на нём.
Вполне устроит вариант "где почитать". Можно не о VB, можно не по-русски.
Заранее спасибо!
Отправлен: 18.03.2005, 21:11
Вопрос задал: Стас М. (статус: Посетитель)
Всего ответов отправлено: 1

Отвечает: Александр Шевченко
Здравствуйте, Стас М.!
Пиши на VB.NET - там есть тип проекта "Windows Service". А если на VB 6 - то слышал, что есть какая-то программка, которая позволяет запускать приложение как сервис, но, к сожалению, название не помню.
Ответ отправил: Александр Шевченко (статус: 2-ой класс)
Отправлен: 19.03.2005, 11:39


Вопрос № 18469
Уважаемые эксперты! Написал простую прогу на VB, но exe не работает на
другом компе без VB, какие компоненты нужны ещё и как можно посмотреть необходимые компоненты для контролов на блоке инструментов? Как можно включить их в exe файл?
Отправлен: 19.03.2005, 08:51
Вопрос задал: Александр А.А. (статус: Посетитель)
Всего ответов отправлено: 4

Отвечает: Licvidator
Здравствуйте, Александр А.А.!
Если прога использует компоненты из стандартного набора контролов, то, как правило, больше ничего с собой таскать не надо. В редких случаях может потребоваться библиотека msvbvm60.dll.
Если же программа использует дополнительные dll и осх, то все эти компоненты необходимо включить в состав программы (в сам ехе их не встроить!). Помимо этого, надо будет позаботиться об регистрации (для ActiveX компонентов, native регистрировать не нужно) этих компонентов на машине юзера, обычно я использую DllRegisterServer. Пример:

Private Declare Function RegMSWINSCK Lib "MSWINSCK.OCX" Alias "DllRegisterServer" () As Long
Const ERROR_SUCCES = 0&
Dim RegMSWINSCKCode As Long
Err = 0
RegMSWINSCKCode = RegMSWINSCK()
If Err <> 0 Then
MsgBox "Компонент MSWINSCK.OCX не найден", vbCritical, "TestProgramm"
End
Else
If RegMSWINSCKCode <> ERROR_SUCCES Then
MsgBox "Операция регистрации MSWINSCK.OCX не выполнена", vbCritical, "TestProgramm":
End
End If
End If
Ответ отправил: Licvidator (статус: Профессор)
Отправлен: 19.03.2005, 10:11
Оценка за ответ: 5
Комментарий оценки:
что такое native компоненты?

Отвечает: Александр Шевченко
Здравствуйте, Александр А.А.!
Посмотреть dll можно в Project -> References, а ocx в Project -> Components.
Ответ отправил: Александр Шевченко (статус: 2-ой класс)
Отправлен: 19.03.2005, 11:43
Оценка за ответ: 3
Комментарий оценки:
где это?

Отвечает: _Виталий
Здравствуйте, Александр А.А.!
1.Для начала нужно определить список подгружаемых модулей вашей прогой. Таких прог не мало в инете, не вспомню конкретно, но предложить могу PROCDUMP прога правда для другого, но модули показывает;-) Так вот из полученного листа определяете нужные файлы. Ну и положив их рядом(или в папку system(system32))с вашем EXE на другом компе все должно работать. Есть одно 'НО', некоторые dll модули не хотят работать без регистрации в системе. Если будет такая ситуация, зарегистрируйте модули приложением regsvr32.exe.
2. По поводу вложения недостающих компонентов в EXE.
Если конечно на машине нету msvbvm60.dll(говорим о VB6), то данный метод не прокатит, а если какого-нибудб OCX то нормально.
Создаем файл ресурсов и пихаем туда в раздел CUSTOM недостающий компонент. И следующий код на Form_Initialize()
----------------------------------
Private Sub Form_Initialize()
'путь например такой, и 101 интедификатор ресурса
Extract "c:windowssystemmyocx.ocx", 101
End Sub
Private Sub Extract(toFile As String, ID As Integer)
On Error Resume Next
Dim a() As Byte
a() = LoadResData(ID, "CUSTOM")
Open toFile For Binary Access Write As #1
Put #1, , a()
Close #1
End Sub
---------------------------------
Данная подпрограмма извлечет файл из файла ресурсов и сохранит его на диске в нужном месте, с нужным именем.
Удачи.
Ответ отправил: _Виталий (статус: 2-ой класс)
Отправлен: 19.03.2005, 13:59
Оценка за ответ: 4

Отвечает: Miklucho
Здравствуйте, Александр А.А.!
любой проге написанной на VB необходима какая-то библиотека, не помню точно названия, кажется vbvbm.dll, первые 2 буквы точно эти, так что поищи в дистрибуттиве по ним. А компоненты можно посмотреть в окне их подключения (ProjectComponents) - когда выделишь какой-нибудь из них, то в низу этого окошка появится путь к файлу и его имя.
Включай их в комплект распрострнения своей программой и не забудь в коде своей программы регистрировать их программой regsvr32.exe (набери ее в консоли с параметром /? и посмотри).
Ответ отправил: Miklucho (статус: Студент)
Отправлен: 22.03.2005, 08:56


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2005, RusFAQ.ru, Россия, Москва. Все права защищены.
Идея, дизайн, программирование, авторское право: Калашников О.А.


http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.prog.basicvba
Отписаться

В избранное