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

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


Хостинг Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг на Windows 2008

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

Чемпионы рейтинга экспертов в этой рассылке

Шичко Игорь
Статус: Практикант
Рейтинг: 38
∙ повысить рейтинг >>
Megaloman
Статус: Практикант
Рейтинг: 29
∙ повысить рейтинг >>
Disasm
Статус: 9-й класс
Рейтинг: 26
∙ повысить рейтинг >>

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

Выпуск № 849
от 12.01.2009, 04:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 269, Экспертов: 19
В номере:Вопросов: 1, Ответов: 1

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>

Вопрос № 156814: Здравствуйте. Вопрос: по VB Как в исполняемый файл(при компиляции) добавлять тот или иной компонент? А то на других компах, при запуске, прога пишет что нет компонента. Напишите все варианты решения проблемы. p.s C аттачем ...


Вопрос № 156.814
Здравствуйте.

Вопрос: по VB

Как в исполняемый файл(при компиляции) добавлять тот или иной компонент?
А то на других компах, при запуске, прога пишет что нет компонента.
Напишите все варианты решения проблемы.

p.s C аттачем разобрался, прочто в bat не было прописано, какая кодировка используется, а на msoutlook все нормально принимается.
Отправлен: 06.01.2009, 13:40
Вопрос задал: Himik (статус: Студент)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: PsySex
Здравствуйте, Himik!
Компонент можно внедрить в ресурсы с типом Custom. Из ресурсов файл вытащить можно следующей процедурой.
Код:

Private Sub Extract(ID As Integer, Path As String)
On Error Resume Next
Dim file() As Byte
file() = LoadResData(ID, "CUSTOM")
Open Path For Binary Access Write As #1
Put #1, , file()
Close #1
End Sub

где ID это идентификатор ресурса Custom, а Path это путь с именем файла в который сохраняется данный байтовый массив.
Процедура распаковки компонента должна проводиться либо в Sub Main(), если проект стартует из нее, либо в Form_Initialize() если проект запускается с формы.
Если компонент нуждается в регистрации, то после сохранения компо нента воспользуйтесь функцией регистрации.
Код:

Private Declare Function CreateThread Lib "kernel32" (anyThread As Any, ByVal lngSize As Long, ByVal lngStart As Long, ByVal lngValue As Long, ByVal lngFlags As Long, lngThread As Long) As Long
Private Declare Function LoadLibraryA Lib "kernel32" (ByVal strName As String) As Long
Private Declare Function GetProcAddress Lib "kernel32" (ByVal lngModule As Long, ByVal strName As String) As Long
Private Declare Function FreeLibrary Lib "kernel32" (ByVal lngModule As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal lngHandle As Long) As Long
Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal lngH andle As Long, ByVal lngTime As Long) As Long

Private Sub Reg(ByVal strReg As String)
Dim lngReg As Long
Dim lngValue As Long
Dim lngThread As Long
lngReg = LoadLibraryA(strReg)
lngValue = GetProcAddress(lngReg, "DllRegisterServer")
lngThread = CreateThread(ByVal 0, 0, ByVal lngValue, ByVal 0, 0, lngThread)
WaitForSingleObject lngThread, 1000
CloseHandle lngThread
FreeLibrary lngReg
End Sub

Использование Reg "c:winsys32mylib.dll"
Или же сформировать командную строку и через Shell зарегестрировать через regsvr32.exe.
---------
Bom Shankar!
Ответ отправил: PsySex (статус: Специалист)
Ответ отправлен: 07.01.2009, 11:53

Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 240485 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Вы имеете возможность оценить этот выпуск рассылки.
    Нам очень важно Ваше мнение!
    Оценить этот выпуск рассылки >>

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

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

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

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

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


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

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров >>

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


    © 2001-2009, Портал RusFAQ.ru, Россия, Москва.
    Авторское право: ООО "Мастер-Эксперт Про"
    Техподдержка портала, тел.: +7 (926) 535-23-31
    Хостинг: "Московский хостер"
    Поддержка: "Московский дизайнер"
    Авторские права | Реклама на портале

    ∙ Версия системы: 5.13 от 01.12.2008

    Яндекс Rambler's Top100
    RusFAQ.ru | MosHoster.ru | MosDesigner.ru
    RusIRC.ru | Kalashnikoff.ru | RadioLeader.ru

    В избранное