OCX в exe

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
kirrun
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 514
Зарегистрирован: 06.04.2005 (Ср) 15:41
Откуда: Питер

OCX в exe

Сообщение kirrun » 17.04.2005 (Вс) 15:34

Люди, 2 вопроса:

1) Как запихать ocx в exeшник?
2) Как обращаться к ocx в .res файле?

З.Ы. Побайтно записывать ocx в конец проги, а потом побайтно восстанавливать не предлагать! =)
"Единственный безопасный компьютер - это тот, который выключен из электросети, закрыт в сейфе, который зарыт 20 футов под землей в засекреченной местности. И то я не уверен относительно его безопасности."
(Деннис Хьюджес, ФБР)

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 17.04.2005 (Вс) 15:58

Если ты спрашиваешь как запихать, то зачем тебе вопрос 2? :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

kirrun
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 514
Зарегистрирован: 06.04.2005 (Ср) 15:41
Откуда: Питер

Сообщение kirrun » 17.04.2005 (Вс) 16:13

а если не запихнется? ;) Да и просто на будущее
"Единственный безопасный компьютер - это тот, который выключен из электросети, закрыт в сейфе, который зарыт 20 футов под землей в засекреченной местности. И то я не уверен относительно его безопасности."
(Деннис Хьюджес, ФБР)

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 17.04.2005 (Вс) 17:36

Вообще-то, мне думается, что придется прсто записывать его из ресурсов в отдельный файл, а потом регистрировть.
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

kirrun
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 514
Зарегистрирован: 06.04.2005 (Ср) 15:41
Откуда: Питер

Сообщение kirrun » 17.04.2005 (Вс) 19:09

Вот я и спрашиваю как к нему обратиться?
"Единственный безопасный компьютер - это тот, который выключен из электросети, закрыт в сейфе, который зарыт 20 футов под землей в засекреченной местности. И то я не уверен относительно его безопасности."
(Деннис Хьюджес, ФБР)

kirrun
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 514
Зарегистрирован: 06.04.2005 (Ср) 15:41
Откуда: Питер

Сообщение kirrun » 17.04.2005 (Вс) 19:09

Да и вобще, как многие программы напрмер манифест в себе таскают?
"Единственный безопасный компьютер - это тот, который выключен из электросети, закрыт в сейфе, который зарыт 20 футов под землей в засекреченной местности. И то я не уверен относительно его безопасности."
(Деннис Хьюджес, ФБР)

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 17.04.2005 (Вс) 21:34

А что общего между OCX и манифестом?
Изображение

kirrun
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 514
Зарегистрирован: 06.04.2005 (Ср) 15:41
Откуда: Питер

Сообщение kirrun » 17.04.2005 (Вс) 21:36

tyomitch писал(а):А что общего между OCX и манифестом?


То, что манифест как-то оказывается в самом exeшнике, и хотелось бы туду ocx пихнуть
"Единственный безопасный компьютер - это тот, который выключен из электросети, закрыт в сейфе, который зарыт 20 футов под землей в засекреченной местности. И то я не уверен относительно его безопасности."
(Деннис Хьюджес, ФБР)

Samovar
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 111
Зарегистрирован: 23.05.2004 (Вс) 8:13

Сообщение Samovar » 18.04.2005 (Пн) 1:24

Ети программы вытаскивают из себя манифест во время выполнения и потом стирают.
Что мешает делать с OCX тоже самое?
Ученье - свет, неученых - тьма.

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 18.04.2005 (Пн) 7:06

Ничего они не стирают. И не вытаскивают. Просто windows кроме поиска в отдельном файле ищет манифест еще и в специальных ресурсах.
А с OCX'ом придется таки вытаскивать его, регистрировать, потом обращаться как обычно, а потом через ж. его вытирать(ибо, более вероятно, вытереть его во время работы твоей программы уже не получится).
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

kirrun
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 514
Зарегистрирован: 06.04.2005 (Ср) 15:41
Откуда: Питер

Сообщение kirrun » 18.04.2005 (Пн) 14:18

Короче, простой пример:

Надо чтобы прога тоскала mswinsck.ocx за собой. То есть чтобы был тока один exe.

Получается, единственный выход: если он не найден - побайтно создавать?
"Единственный безопасный компьютер - это тот, который выключен из электросети, закрыт в сейфе, который зарыт 20 футов под землей в засекреченной местности. И то я не уверен относительно его безопасности."
(Деннис Хьюджес, ФБР)

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 18.04.2005 (Пн) 14:22

Поиск по форуму со словом fusion.

Шурик
Самогонщик
Самогонщик
Аватара пользователя
 
Сообщения: 1657
Зарегистрирован: 30.06.2003 (Пн) 13:27
Откуда: из запоя :))))) Матных сообщений: 972

Сообщение Шурик » 18.04.2005 (Пн) 14:54

извлечение бинарных файлов из файла ресурсов:
это в модуль...
Код: Выделить всё
Public Function GetBinaryFileFromResource( File_Path As String, ByVal ID As Long, Resource As String) As Boolean
Dim BinaryData() As Byte 'объявляем переменную
BinaryData = LoadResData(ID, Resource) 'загрузка из ресурсов
If Len(BinaryData(1)) > 0 Then 'Если что - то есть, то все гуд
Open File_Path For Binary Access Write As #1
Put #1, 1, BinaryData 'запись в файл
Close #1
GetBinaryFileFromResource = True 'операция успешна
End If
GetBinaryFileFromResource = False 'ничего не получилось
End Function

kirrun
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 514
Зарегистрирован: 06.04.2005 (Ср) 15:41
Откуда: Питер

Сообщение kirrun » 18.04.2005 (Пн) 14:56

Так! Всем спасибо - все временно свободны! Щас выпрошу чтоб мне FUsion скачали (свой-то трафф жалко ;)) и заценю. Если нормально пашет - все ок. Если не понравицца мне - тему возобновим =)
"Единственный безопасный компьютер - это тот, который выключен из электросети, закрыт в сейфе, который зарыт 20 футов под землей в засекреченной местности. И то я не уверен относительно его безопасности."
(Деннис Хьюджес, ФБР)

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 18.04.2005 (Пн) 15:26

Samovar писал(а):Ети программы вытаскивают из себя манифест во время выполнения и потом стирают.


Вообще-то манифест прекрасно живет/работает в ресурсах - его не обязательно вытаскивать во временный файл.

Samovar писал(а):Что мешает делать с OCX тоже самое?


Да нафига? Я бы таких программ предпочел бы у себя не видеть.
Надо привыкать писать так как нас учит Билл и MS!
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

kirrun
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 514
Зарегистрирован: 06.04.2005 (Ср) 15:41
Откуда: Питер

Сообщение kirrun » 18.04.2005 (Пн) 15:44

Andrey Fedorov писал(а):
Samovar писал(а):Ети программы вытаскивают из себя манифест во время выполнения и потом стирают.


Вообще-то манифест прекрасно живет/работает в ресурсах - его не обязательно вытаскивать во временный файл.

Samovar писал(а):Что мешает делать с OCX тоже самое?


Да нафига? Я бы таких программ предпочел бы у себя не видеть.
Надо привыкать писать так как нас учит Билл и MS!


А как нас учит дядя Билли? Сетупы делать?
"Единственный безопасный компьютер - это тот, который выключен из электросети, закрыт в сейфе, который зарыт 20 футов под землей в засекреченной местности. И то я не уверен относительно его безопасности."
(Деннис Хьюджес, ФБР)

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 18.04.2005 (Пн) 15:49

kirrun писал(а):А как нас учит дядя Билли? Сетупы делать?


Да.

Один и тот-же OCX может использоваться в разных программах. То есть суммарный объем на диске будет меньше чем у программ - а-ла Fusion. Кроме того некоторые герои, вытащив OCX в свою папку, регистрят его там хотя такой уже есть в системном каталоге, потом получаем проблему после удаления их программы... И прочие прелести...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

kirrun
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 514
Зарегистрирован: 06.04.2005 (Ср) 15:41
Откуда: Питер

Сообщение kirrun » 18.04.2005 (Пн) 15:51

Я лично не люблю маленькие программки с сетупами. От них проблем больше чем толку. Проще запустить ехе чем щелкать на кнопочки Далее... Да и удалять их дольше. Shuft+Del не поможет, а-то потом реестр чистить целый день и в главном меню место засоряет...
"Единственный безопасный компьютер - это тот, который выключен из электросети, закрыт в сейфе, который зарыт 20 футов под землей в засекреченной местности. И то я не уверен относительно его безопасности."
(Деннис Хьюджес, ФБР)

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 18.04.2005 (Пн) 16:08

Вот поэтому я и не ставлю подобные программочки...
И проблем не возникает.

Вообще есть два более-менее нормальных способа извратиться:

1. Помещаешь все компоненты в состав одного проекта (для этого у тебя должны быть их исходники).
2. Компоненты находятся в одном каталоге с exe (регистрить их при этом не надо!!!).
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

kirrun
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 514
Зарегистрирован: 06.04.2005 (Ср) 15:41
Откуда: Питер

Сообщение kirrun » 18.04.2005 (Пн) 16:22

Вот я предпочитаю второй путь, но мне не нравится то, что их надо постоянно с прогой таскать... Похоже, самый простой и оптимальный вариант - при запуске проги проверять нужный осх в system32, и если его нету - побайтно создать и зарегить...
"Единственный безопасный компьютер - это тот, который выключен из электросети, закрыт в сейфе, который зарыт 20 футов под землей в засекреченной местности. И то я не уверен относительно его безопасности."
(Деннис Хьюджес, ФБР)

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 18.04.2005 (Пн) 16:27

kirrun писал(а):Вот я предпочитаю второй путь, но мне не нравится то, что их надо постоянно с прогой таскать... Похоже, самый простой и оптимальный вариант - при запуске проги проверять нужный осх в system32, и если его нету - побайтно создать и зарегить...


Это вообще-то делает любой нормальный инсталятор. При этом он еще правда версии компонентов сравнивает.

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

В любом случае это лучше чем Fusion.
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

kirrun
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 514
Зарегистрирован: 06.04.2005 (Ср) 15:41
Откуда: Питер

Сообщение kirrun » 18.04.2005 (Пн) 16:35

Короче, это бессмысленный спор, ибо это дело вкуса и стиля.
"Единственный безопасный компьютер - это тот, который выключен из электросети, закрыт в сейфе, который зарыт 20 футов под землей в засекреченной местности. И то я не уверен относительно его безопасности."
(Деннис Хьюджес, ФБР)

kirrun
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 514
Зарегистрирован: 06.04.2005 (Ср) 15:41
Откуда: Питер

Сообщение kirrun » 18.04.2005 (Пн) 21:51

RayShade писал(а):Поиск по форуму со словом fusion.


Угу... тока толку от поиска нету... Все ссылки - битые...

Лучший друг человека (аkа Гугля) разводит руками. И Брат его Яндекс тоже...
"Единственный безопасный компьютер - это тот, который выключен из электросети, закрыт в сейфе, который зарыт 20 футов под землей в засекреченной местности. И то я не уверен относительно его безопасности."
(Деннис Хьюджес, ФБР)

kirrun
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 514
Зарегистрирован: 06.04.2005 (Ср) 15:41
Откуда: Питер

Сообщение kirrun » 18.04.2005 (Пн) 22:34

Так, все отлично! Я нашел в каком месте жутко ступил...

Всем спасибо!
"Единственный безопасный компьютер - это тот, который выключен из электросети, закрыт в сейфе, который зарыт 20 футов под землей в засекреченной местности. И то я не уверен относительно его безопасности."
(Деннис Хьюджес, ФБР)

Samovar
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 111
Зарегистрирован: 23.05.2004 (Вс) 8:13

Сообщение Samovar » 19.04.2005 (Вт) 16:24

windows кроме поиска в отдельном файле ищет манифест еще и в специальных ресурсах

А пример, случайно не завалялся?
Ученье - свет, неученых - тьма.

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 19.04.2005 (Вт) 17:56

[url="http://www.google.com"]Все примеры мира[/url]
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот, Yandex-бот и гости: 163

    TopList