Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос:  связка приложения и компонента в VB Добавлено: 28.05.05 17:12  

Автор вопроса:  bevaine
Имеется скомпилированный exe файл и имееются несколько ocx или dll возможно ли на скомпилированную форму добавалять и выполнять эти компоненты или есть другой выход.

Ответить

  Ответы Всего ответов: 9  

Номер ответа: 1
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #1
Добавлено: 28.05.05 17:48
Ну, я когда делать нечего добавляю в экстплорер свойю фотку в пикчербоксе, всё таки SetParent - это хорошая штука

Ответить

Номер ответа: 2
Автор ответа:
 bevaine



Вопросов: 3
Ответов: 4
 Профиль | | #2 Добавлено: 28.05.05 18:47
а примерчик можно?

Ответить

Номер ответа: 3
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #3
Добавлено: 28.05.05 19:04
Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
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-сайт: hw.t-k.ru
 Профиль | | #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-сайт: sur.hotbox.ru/
 Профиль | | #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.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам