Страница: 1 |
Страница: 1 |
Вопрос: связка приложения и компонента в VB
Добавлено: 28.05.05 17:12
Автор вопроса: bevaine
Имеется скомпилированный exe файл и имееются несколько ocx или dll возможно ли на скомпилированную форму добавалять и выполнять эти компоненты или есть другой выход.
Ответы
Всего ответов: 9
Номер ответа: 1
Автор ответа:
Morpheus
Вопросов: 224
Ответов: 3777
Web-сайт:
Профиль | | #1
Добавлено: 28.05.05 17:48
Ну, я когда делать нечего добавляю в экстплорер свойю фотку в пикчербоксе, всё таки SetParent - это хорошая штука
Номер ответа: 2
Автор ответа:
bevaine
Вопросов: 3
Ответов: 4
Профиль | | #2
Добавлено: 28.05.05 18:47
а примерчик можно?
Номер ответа: 3
Автор ответа:
Morpheus
Вопросов: 224
Ответов: 3777
Web-сайт:
Профиль | | #3
Добавлено: 28.05.05 19:04
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Dim h As Long
Private Sub Command1_Click()
h = 0
'papka Yury
h = FindWindow(vbNullString, "Yury"
If Not h = 0 Then
SetParent Picture1.hWnd, h
'dvigaem uze v explorer
Picture1.Move 100, Screen.Height * 0.58
End If
Hide
End Sub
Номер ответа: 4
Автор ответа:
bevaine
Вопросов: 3
Ответов: 4
Профиль | | #4
Добавлено: 28.05.05 19:24
спасибо, но это не совсем то. Компоненты на форме буду т являться какбы плагинами к моей программе, и мне нужно поместить элемент на форму, а не форму сделать в форме. Я могу конечно создавать экзешники, запускать их, искать их хенделы. Но это во первых небудет считать плагином(не красиво), а во вторых проблема с окнами, мне нужно чтобы они были оба активными.
Номер ответа: 5
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #5
Добавлено: 29.05.05 01:54
По поводу плагинов, это к sne. Он делал в своих программах плагины в DLL. Там они как то подключаются, типа перехватываются функции и передаются в ту длл. На форму кидать нечего не надо. По поводу OCX. Думаю можно... пока не знаю как, но на мысль едит программное добавление контрола на форму. Может можно зарегестрировать ocx, получить его ID ну и как то там програмно пихнуть на форму, ну это так, догадки...
Номер ответа: 6
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #6
Добавлено: 29.05.05 10:16
2bevaine, если ты желаешь чтобы программа сама на себя нацепила какой-нить ocx без посторонней помощи... это навряд-ли...
Номер ответа: 7
Автор ответа:
bevaine
Вопросов: 3
Ответов: 4
Профиль | | #7
Добавлено: 30.05.05 11:01
Вот еще вопрос по dll
Пишу библиотеку, код:
Public Function Test(ByVal a As Integer, ByVal b As Integer) As Integer
Test = a + b
End Function
Сохраняю как TestDLL.dll
Пишу код на VB:
Private Declare Function Test Lib "TestDLL.dll" _
(ByVal a As Integer, ByVal b As Integer) As Integer
c = Test(4, 5)
Выдает ошибку, в чем дело?
Номер ответа: 8
Автор ответа:
Sur
ICQ: 1249088
Вопросов: 10
Ответов: 304
Web-сайт:
Профиль | | #8
Добавлено: 30.05.05 15:31
'зарегить dll и
Private o As Object
Private Sub Form_Load()
Set o = CreateObject("project1.class1" 'поправить
Debug.Print o.test(4, 5)
End Sub
Номер ответа: 9
Автор ответа:
bevaine
Вопросов: 3
Ответов: 4
Профиль | | #9
Добавлено: 30.05.05 17:52
Да, все получилось. Еще вопрос - Я открывая dll-форму, как сделать чтобы запущенная форма небыла активной, а активной была бы та из которой запущена dll иначе не передешь на родительскую, пока не закроешь dll.