powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как сныкать глобальные функции в приложении ActiveX EXE/DLL от клиентского приложения
8 сообщений из 8, страница 1 из 1
Как сныкать глобальные функции в приложении ActiveX EXE/DLL от клиентского приложения
    #32679603
MegaDimon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Товарищи! Как можно в ActiveX EXE/DLL в классе спрятать глобальные переменные/функции от глаз клиента.
К примеру функция в ActiveX EXE'шном классе:
Код: plaintext
1.
2.
3.
4.
5.
6.
 '.... ф-я GetHeight() 
 '.... 
Public Function GetHeight(ByVal FirstName As String) As Integer
    GetHeight = height(FirstName)
End Function
 '.... 

она нужна как Public для использования внутри проекта для вызова например из другого класса, но VB еще ее делает как интерфейсную и клиент этого компонента тоже ее видит.
А нужно чтобы она была общей только внутри компонента и не видна клиенту. Как это можно сделать???
...
Рейтинг: 0 / 0
Как сныкать глобальные функции в приложении ActiveX EXE/DLL от клиентского приложения
    #32679625
Alexey Kudinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
Friend Function GetHeight(ByVal FirstName As String) As Integer
    GetHeight = height(FirstName)
End Function

Клиент ее не увидит, но в интерфейс класса она все равно входить будет :)
...
Рейтинг: 0 / 0
Как сныкать глобальные функции в приложении ActiveX EXE/DLL от клиентского приложения
    #32679637
MegaDimon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо!!!

P.S.: а с переменными объявленными как Public этот фокус пойдет?
...
Рейтинг: 0 / 0
Как сныкать глобальные функции в приложении ActiveX EXE/DLL от клиентского приложения
    #32679663
Alexey Kudinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет.
Используйте доступ по свойствам. Они могут быть Friend, причем доступ может быть назначен отдельно для Get/Let(Set)
Тем более, что VB все равно это делает за Вас.
...
Рейтинг: 0 / 0
Как сныкать глобальные функции в приложении ActiveX EXE/DLL от клиентского приложения
    #32682690
MegaDimon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не совсем понятно с Private свойствами в классе:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
 ' начало класса XYZ 
 '... 
Private objABC As ABC
....
Public Property Get takeABC() As ABC                '  получение объекта ABC 
    Set takeABC = objABC     '  возвращаем ссылку 
End Property
 '.... 
 ' конец класса XYZ 

 ' начало класса XXX [в одном проекте с XYZ] 
 '... 
     Dim test As XYZ
     test = New XYZ
     Dim obj As ABC
     obj = XYZ.takeABC()            ' ERROR не может вернуть ссылку на Private objABC 
 '... 
 ' конец класса XXX 

Как сделать чтобы ссылку на objABC можно было получить их класса XXX и чтобы objABC при этом не был виден клиенту компонента?
...
Рейтинг: 0 / 0
Как сныкать глобальные функции в приложении ActiveX EXE/DLL от клиентского приложения
    #32683004
Alexey Kudinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Set obj = XYZ.takeABC()
...
Рейтинг: 0 / 0
Как сныкать глобальные функции в приложении ActiveX EXE/DLL от клиентского приложения
    #32683008
Alexey Kudinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
... и без скобок
...
Рейтинг: 0 / 0
Как сныкать глобальные функции в приложении ActiveX EXE/DLL от клиентского приложения
    #32683029
MegaDimon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот блин а я уже целый час сижу ошибки ищу! Никак не могу привыкнуть писать этот Set. Thanks!
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как сныкать глобальные функции в приложении ActiveX EXE/DLL от клиентского приложения
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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