powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / FVP-Com - Studio 2005
10 сообщений из 10, страница 1 из 1
FVP-Com - Studio 2005
    #36986109
IgorProgrammer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VoxPro - 9
Visual Studio - 2005

Мне нужно добавить в мой класс объект, так чтоБ студия видела все его своства и методы...

DEFINE CLASS MyClass AS CUSTOM OLEPUBLIC
MyProperty = мой объект
ENDDEFINE

Плз. хелп...

С Ув. Игорь...
...
Рейтинг: 0 / 0
FVP-Com - Studio 2005
    #36986193
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: IgorProgrammer
> Мне нужно добавить в мой класс объект, так чтоБ студия видела все его своства и методы...

Какой объект?
У фокспро нет строгой типизации, поэтому все свойства будут возвращать Variant с подтипом содержащейся переменной.
В общем случае, можно сделать так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Define Class MyObject  AS CUSTOM OLEPUBLIC
' Здесь свойства и методы
Enddefine

DEFINE CLASS MyClass AS CUSTOM OLEPUBLIC
    MyProperty = NewObject("MyObject")
ENDDEFINE

На клиенте использовать:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Local oMyClass As MyClass, oMyObj As MyObject
oMyClass = CreateObject("MyClass")
oMyObj = oMyClass.MyProperty
With oMyObj
..
..
..
EndWith


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
FVP-Com - Studio 2005
    #36986201
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: IgorProgrammer


Тьфу, у тебя 2005 студия :)
В любом случае студия должна где-то брать все эти описания типов и где ей брать эти описания знаешь только ты.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
FVP-Com - Studio 2005
    #36986304
IgorProgrammer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мне б простой пример...
...
Рейтинг: 0 / 0
FVP-Com - Studio 2005
    #36986309
IgorProgrammer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Просто надо старый проект Лиса 9 соединить с 2005 студией...
...
Рейтинг: 0 / 0
FVP-Com - Studio 2005
    #36986353
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: IgorProgrammer


Я же набросал простой каркас примера. Добавляешь в описание класса, объект которого будет присваиватся свойству
MyProperty спецификатор OLEPUBLIC, тогда студия "увидит" декларацию класса. Но "сказать" студии, что свойство MyProperty
будет возвращать определенный тип не получится. Студия определит что свойство что-то возвращает. Поэтому ты, для
получения IntelliSence, определи переменную нужного типа и присваивай ей значение этого свойства.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
FVP-Com - Studio 2005
    #36986936
IgorProgrammer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MyProperty = NewObject("MyObject")
...
Рейтинг: 0 / 0
FVP-Com - Studio 2005
    #36986939
IgorProgrammer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
При сборке ругается на
MyProperty = NewObject("MyObject")
...
Рейтинг: 0 / 0
FVP-Com - Studio 2005
    #36986979
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: IgorProgrammer
> При сборке ругается на


Конечно ругается. Это декларация. Там(при объявлении переменной) можно задать какие-то заранее известные значения
простых типов. Для объектных ссылок я в объявлении присваиваю Null, а инициализацию делаю в Init класса:
Например
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
Define Class sw As Custom
* Количество принятых байт
 nCountReciveByte =  0 
* Рабочий объект связи с БД
 Hidden loProxy
* Свойства соединения
 Hidden ConnectorProperty

* Массив заполняемых свойств и значений, для пересоединений при обрывах связи
 Dimension arrConnectorProperty[ 1 ]
* Счетчик количества заполненных свойств
 Hidden nCountFillProperty As Long
* Строка инициализации
 Hidden sUrlConnect As String
* Флаг reconnect
 Hidden IsReconnect As Boolean

 Procedure Init(url_connect As String)
 This.IsReconnect = .F.
 This.nCountFillProperty =  0 
 This.nCountReciveByte =  0 
 This.ResetCounter()
 This.CreateConnect(url_connect)
 This.declareZLIB()
 Dimension This.arrConnectorProperty[ 255 ,  2 ]
 Endproc
*********************************************************************
 Procedure Destroy()
 Local mObj
 mObj = This.loProxy
 This.loProxy = .Null.
 Release mObj
 Endproc
*********************************************************************
 Hidden Procedure CreateConnect(url_connect As String)
  If g_DEBUG = .F. Then
   This.loProxy=Createobject("MSSOAP.SOapClient30")
   This.loProxy.MSSoapInit(url_connect)
   This.sUrlConnect = url_connect
  Else
   This.loProxy = Newobject("local_server")
  Endif
  Endproc
Enddefine


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
FVP-Com - Studio 2005
    #36987122
IP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IP
Гость
IgorProgrammerVoxPro - 9
Visual Studio - 2005

Мне нужно добавить в мой класс объект, так чтоБ студия видела все его своства и методы...

DEFINE CLASS MyClass AS CUSTOM OLEPUBLIC
MyProperty = мой объект
ENDDEFINE

Плз. хелп...

С Ув. Игорь...
Выдержка из Помощи:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
DEFINE CLASS ClassName1 AS ParentClass [OF ClassLibrary] [OLEPUBLIC]
   [[PROTECTED | HIDDEN] PropertyName1, PropertyName2 ...]
   [[.]Object.]PropertyName = eExpression ...]
   [PEMName_COMATTRIB = nFlags | DIMENSION PEMName_COMATTRIB[numElements]
      [PEMName_COMATTRIB[ 1 ] = nFlags
              PEMName_COMATTRIB[ 2 ] = cHelpString
              PEMName_COMATTRIB[ 3 ] = cPropertyCapitalization
              PEMName_COMATTRIB[ 4 ] = cPropertyType
              PEMName_COMATTRIB[ 5 ] = nOptionalParams]]
   [ADD OBJECT [PROTECTED] ObjectName AS ClassName2 [NOINIT] [WITH cPropertylist]]
   [IMPLEMENTS cInterfaceName [EXCLUDE] IN TypeLib | TypeLibGUID | ProgID ]
   [[PROTECTED | HIDDEN] FUNCTION | PROCEDURE Name[_ACCESS |_ASSIGN]
      ([cParamName | cArrayName[] [AS Type][@]]) [AS Type]
      [HELPSTRING cHelpString] | THIS_ACCESS(cMemberName) [NODEFAULT]
            cStatements
   [ENDFUNC | ENDPROC]
ENDDEFINE
Обрати внимание на PEMName_COMATTRIB[4] = cPropertyType
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / FVP-Com - Studio 2005
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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