powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Ошибка
11 сообщений из 11, страница 1 из 1
Ошибка
    #37831979
Slash232
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При запуске моего приложения на других компьютерах выскакивает ошибка (на прикрепленном фото).
Я так понимаю на компьютере любого пользователя для работы моей программы необходимо наличие этого файла в директории
C:\WINDOWS\system32 а также регистрация этого файла. Подскажите как реализовать в коде эти операции?
...
Рейтинг: 0 / 0
Ошибка
    #37831989
Below0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Slash232,

Vb6 - моё хобби, а я знаю, как регать дллки. а если я это знаю, значит это уже обсуждалось на форуме, с большой вероятностью - в моих топиках. отмечу, что регистрировать дллки лучше всего не при прогрузке формы(формлоад), а при инициализации. т.е. пихаешь дллки в ресурсы программы(или просто хранишь рядом), при инициализации проверяешь, есть ли на компе пользователя указанные дллки(нужно учесть зависимость путей от корявости и версии винды), копируешь дллки на их законное место, регистрируешь. например, так:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Dim WshShell As Object
Set WshShell = CreateObject("WScript.Shell")
Dim WshProEnv As Object
Set WshProEnv = WshShell.Environment("SYSTEM")
Dim SysInfo As String
SysInfo = WshProEnv.Item("PROCESSOR_ARCHITECTURE")
Dim F
Dim arrByte()   As Byte
If SysInfo = "x86" Then
    If Dir(Environ("SystemRoot") & "\System32\richtx32.ocx") <> "" Then
    Else
    F = FreeFile
    arrByte = LoadResData(102, "CUSTOM")
    Open Environ("SystemRoot") & "\System32\richtx32.ocx" For Binary As #F
    Put #F, , arrByte()
    Close #F
    Shell "regsvr32 /s " & Environ("SystemRoot") & "\System32\richtx32.ocx"
    MsgBox "Обработка текстовых данных настроена!"
    End If
end if

ко
...
Рейтинг: 0 / 0
Ошибка
    #37831992
Below0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
код выше - на винде ХР. вот на семёрке
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
    If Dir(Environ("SystemRoot") & "\sysnative\shdocvw.dll") <> "" Then
    Else
    F = FreeFile
    arrByte = LoadResData(103, "CUSTOM")
    Open Environ("SystemRoot") & "\sysnative\shdocvw.dll" For Binary As F
    Put #F, , arrByte()
    Close #F
    Shell "regsvr32 /s " & Environ("SystemRoot") & "\sysnative\shdocvw.dll"
    MsgBox "Связь с сервером успешно настроена!"
    End If

а шокер всё ещё нубярко
...
Рейтинг: 0 / 0
Ошибка
    #37831999
Slash232
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
2.
3.
4.
5.
6.
F = FreeFile
    arrByte = LoadResData(102, "CUSTOM")
    Open Environ("SystemRoot") & "\System32\richtx32.ocx" For Binary As #F
    Put #F, , arrByte()
    Close #F
    Shell "regsvr32 /s " & Environ("SystemRoot") & "\System32\richtx32.ocx"



Последнюю строчку понял а вот откуда она берёт осх файлик не понял. Можно с объяснениями? я хочу написать чтобы осх файлик в папке с моей прогой был.
...
Рейтинг: 0 / 0
Ошибка
    #37832002
Slash232
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И еще вопрос - нет ли универсального чтобы и на хр и на 7 шел?
...
Рейтинг: 0 / 0
Ошибка
    #37832003
Slash232
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если универсального нету то просьба написать как программно эту проблему решить с учетом ос?
...
Рейтинг: 0 / 0
Ошибка
    #37832007
Below0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Slash232
Код: vbnet
1.
2.
3.
4.
5.
6.
F = FreeFile
    arrByte = LoadResData(102, "CUSTOM")
    Open Environ("SystemRoot") & "\System32\richtx32.ocx" For Binary As #F
    Put #F, , arrByte()
    Close #F
    Shell "regsvr32 /s " & Environ("SystemRoot") & "\System32\richtx32.ocx"



Последнюю строчку понял а вот откуда она берёт осх файлик не понял. Можно с объяснениями? я хочу написать чтобы осх файлик в папке с моей прогой был. меняешь первые пять строчек на
Код: vbnet
1.
FileCopy app.path & "\" & "имя дллки" & ".dll", Environ("SystemRoot") & "\System32\имя дллки.dll"

если дллка в одной папке с твоей прогой, то она скопируется в системную папку. в психушке все нубы, но это не значит, что шокер не нубярко
...
Рейтинг: 0 / 0
Ошибка
    #37832033
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Slash232,
можно использовать ActiveX компоненты и без регистрации .
Утилита для создания манифеста библиотеки ActiveX - regsvr42 .
...
Рейтинг: 0 / 0
Ошибка
    #37832042
Slash232
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у меян не dll а ocx я так понимаю разницы нет?
...
Рейтинг: 0 / 0
Ошибка
    #37832803
AndreyMp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Инсталятор сделать не пытались?
...
Рейтинг: 0 / 0
Ошибка
    #37833174
Below0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Slash232 что ты, не надо, не благодари. спасяба - это ведь не какие-то пара тысяч баксов - такого подарка я не приму
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Ошибка
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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