Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как сныкать глобальные функции в приложении ActiveX EXE/DLL от клиентского приложения / 8 сообщений из 8, страница 1 из 1
03.09.2004, 15:39:26
    #32679603
MegaDimon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сныкать глобальные функции в приложении ActiveX EXE/DLL от клиентского приложения
Товарищи! Как можно в 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
03.09.2004, 15:48:00
    #32679625
Alexey Kudinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сныкать глобальные функции в приложении ActiveX EXE/DLL от клиентского приложения
Код: plaintext
1.
2.
3.
Friend Function GetHeight(ByVal FirstName As String) As Integer
    GetHeight = height(FirstName)
End Function

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

P.S.: а с переменными объявленными как Public этот фокус пойдет?
...
Рейтинг: 0 / 0
03.09.2004, 16:08:30
    #32679663
Alexey Kudinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сныкать глобальные функции в приложении ActiveX EXE/DLL от клиентского приложения
нет.
Используйте доступ по свойствам. Они могут быть Friend, причем доступ может быть назначен отдельно для Get/Let(Set)
Тем более, что VB все равно это делает за Вас.
...
Рейтинг: 0 / 0
07.09.2004, 10:57:50
    #32682690
MegaDimon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сныкать глобальные функции в приложении ActiveX EXE/DLL от клиентского приложения
Не совсем понятно с 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
07.09.2004, 12:31:06
    #32683004
Alexey Kudinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сныкать глобальные функции в приложении ActiveX EXE/DLL от клиентского приложения
Set obj = XYZ.takeABC()
...
Рейтинг: 0 / 0
07.09.2004, 12:32:10
    #32683008
Alexey Kudinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сныкать глобальные функции в приложении ActiveX EXE/DLL от клиентского приложения
... и без скобок
...
Рейтинг: 0 / 0
07.09.2004, 12:37:15
    #32683029
MegaDimon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сныкать глобальные функции в приложении ActiveX EXE/DLL от клиентского приложения
вот блин а я уже целый час сижу ошибки ищу! Никак не могу привыкнуть писать этот Set. Thanks!
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как сныкать глобальные функции в приложении ActiveX EXE/DLL от клиентского приложения / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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