Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Куда запропастился класс? / 12 сообщений из 12, страница 1 из 1
08.03.2010, 11:05
    #36507314
tansoc
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Куда запропастился класс?
Создал с помощью конструктора новый класс myclass. В проекте библиотека классов появилась. Мануально новый объект этого класса на форму добавляется. А если программно создаю объект, вставляя в init формы:

objname='myclass'
Thisform.AddObject(objname,'myclass')

то пишет, что myclass не найден. Куда и что нужно добавить, чтоб этот myclass находился?
Или библиотеку где-то указать доболнительно нужно?


И еще. Если я возьму готовый текст создания этого myclass из view code, то куда этот программный текст нужно вставить, чтобы форма его находила? А то в init формы пытался вставить,Фокс говорит: "Низзя!"
...
Рейтинг: 0 / 0
08.03.2010, 11:13
    #36507318
AmKad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Куда запропастился класс?
tansoc,

Почитать в хелпе про
Код: plaintext
1.
2.
set path
set classlib
...
Рейтинг: 0 / 0
08.03.2010, 11:38
    #36507333
tansoc
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Куда запропастился класс?
Благодарю. Теперь myclass нашелся. Заработало.

А по поводу вставки кода? Если я без библиотеки захочу обойтись и решу создать программно новый класс для формы, то куда описание нового класса впихнуть? В какой-то метод? Или придется только через дополнительный prg-шник делать?
...
Рейтинг: 0 / 0
08.03.2010, 14:26
    #36507474
AmKad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Куда запропастился класс?
tansoc,

Можно и через prg-шник. Ну этот метод устаревает и исп-ся как правило для совместимости с более ранними версиями.
...
Рейтинг: 0 / 0
08.03.2010, 15:30
    #36507528
piva
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Куда запропастился класс?
AmKadtansoc,

Можно и через prg-шник. Ну этот метод устаревает и исп-ся как правило для совместимости с более ранними версиями.

Черт а я именно этим пользовался как наиболее гибчее чем VCX - хотя если вы не любите кошек - то видима вы их и не пробовали
...
Рейтинг: 0 / 0
08.03.2010, 17:12
    #36507614
AmKad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Куда запропастился класс?
piva,

Если честно, действительно не пробовал, ни кошек, ни классы через prg
...
Рейтинг: 0 / 0
08.03.2010, 18:51
    #36507701
Куда запропастился класс?
tansocЕсли я без библиотеки захочу обойтись и решу создать программно новый класс для формы, то куда описание нового класса впихнуть? В какой-то метод? Или придется только через дополнительный prg-шник делать?Почитайте таки хелп. Описание классов ни в какие методы нельзя помещать.
...
Рейтинг: 0 / 0
08.03.2010, 18:54
    #36507707
Dag
Dag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Куда запропастился класс?
Кошек попрошу не обижать, а вот классы определяемые через prg действительно удобная штука.
...
Рейтинг: 0 / 0
08.03.2010, 22:51
    #36507914
tansoc
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Куда запропастился класс?
У меня еще вопросик возник по классам.

1. Я определяю класс myclass на основе container
2. добавляю ему свойство myvalue.
3. В этот контейнер запихнул shape1, у которого в свойстве Curvature прописал

формулу iif(this.parent.myvalue=0,0,90) /либо квадрат, либо круг

4. Теперь создаю на форме объект myobject класса myclass

Thisform.AddObject('myobject','myclass')

5. Запускаю цикл

For i=1 To 10
With Thisform.myobject
.Visible=.T.
.Left=i*100
.myValue = iif(Mod(i/2,1)>0, 90, 0) && 1 вариант
* .shape1.curvature = Iif(Mod(i/2,1)>0,90,0) && 2 вариант
Endwith
F=Inkey(1)
Next


Как видно, этот myobject будет двигаться по форме. Он двигается, но изменения в форме Shape1 почему-то не происходят.
Если же я включу вариант № 2, то превращения из круга в квадрат происходят.


Мой "контейнерный" класс myclass будет содержать не только один Shape1. Со всеми "шейпами" должно происходить множество всяких мутаций, зависящих только от myValue.

Поэтому мне хотелось управлять этим оркестром лишь изменением свойства myValue, а не указывать в форме для каждого конкретного свойства "Shape"-ов, что им надлежит делать.

Т.е. мне хотелось бы узнать, какие нужны коррективы, чтобы работал вариант № 1.
...
Рейтинг: 0 / 0
08.03.2010, 23:10
    #36507924
tansoc
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Куда запропастился класс?
PS

Для контроля в тот "контейнернейный"-класс я запихнул поле, у которого
ControlSourse = this.parent.myValue

В течение всего цикла высвечивается в поле светится только НОЛЬ.

Т.е. либо myVALUE неизменяется, либо изменения игнорируются вложениями типа Shape1 в контейнере.

Что-то я не так делаю или так и должно быть?
...
Рейтинг: 0 / 0
09.03.2010, 08:43
    #36508120
GermanGM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Куда запропастился класс?
tansoc, MyValue изменяется, даж не сумлевайтесь! :) Просто для объекта TextBox при изменении значения его ControlSource необходимо выполнять refresh
...
Рейтинг: 0 / 0
09.03.2010, 12:21
    #36508594
tansoc
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Куда запропастился класс?
Ну, да. Вы правы. Действительно, изменяется.
Внутрь цикла я поставил "рефреш" на значение контрольного тектового поля. Идет чередование 0 и 90.

Но отчего тогда не меняется сама фигура с квадрата на круг? Я туда же поставил точно такой же "рефреш" на Shape1....
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Куда запропастился класс? / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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