powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / фундаментальные классы
22 сообщений из 22, страница 1 из 1
фундаментальные классы
    #36790011
Alexandr29
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для кого-то этот вопрос покажется простым, но меня он поставил в тупик.
Как программно добавить на форму фундаментальные классы в моем случае используется Navigation Toolbar. Или создать
Если его сразу же добавить на форму, то все работает
но при перезапуске этой формы выходят ошибки несоответствия типов. Поэтому хочу его донастроить под себя.
Помогите
...
Рейтинг: 0 / 0
фундаментальные классы
    #36790181
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexandr29,

С этими инструментами знакомы?
AddObject Method
PEMSTATUS( ) Function
VARTYPE( ) Function
...
Рейтинг: 0 / 0
фундаментальные классы
    #36790342
Alexandr29
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Знаком на начальном уровне
...
Рейтинг: 0 / 0
фундаментальные классы
    #36790383
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexandr29Знаком на начальном уровне
Для PEMSTATUS обратить внимание на nAttribute = 5
MSDNDefined property, event, method, or object.

If the property, event, method, or object exists for oObjectName or cClassName, PEMSTATUS( ) returns a logical True (.T.). Otherwise, or for hidden native properties, PEMSTATUS( ) returns a logical False (.F.).
...
Рейтинг: 0 / 0
фундаментальные классы
    #36790511
Alexandr29
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пока не совсем понял, разбираюсь

На основании Фунд класса Navigation Toolbar создал свой класс
и пытаюсь его запустить(добавить на форму).

pfGrid.AddObject('navigatormy', 'navigatormy.vcx')
oNavToolbarClass1 =Newobject('navigatormy', 'navigatormy.vcx')

но выдаёт ошибку «определение класса не найдено»
Что-то я делаю не так.
...
Рейтинг: 0 / 0
фундаментальные классы
    #36790535
Ffffffffffffffff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SET CLASSLIB TO "C:\Путь\ИмяФайла.vcx" additive
...
Рейтинг: 0 / 0
фундаментальные классы
    #36790536
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexandr29
Код: plaintext
pfGrid.AddObject('navigatormy', 'navigatormy.vcx')

И все-таки не надо путать класс и библиотеку, даже если в библиотеке один класс.
...
Рейтинг: 0 / 0
фундаментальные классы
    #36790858
Alexandr29
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FfffffffffffffffSET CLASSLIB TO "C:\Путь\ИмяФайла.vcx" additive

Я Исправил SET CLASSLIB TO
но терерь ошибка - псевдоним уже используется.
Привожу весь код запуска формы.
Parameters dataAdres, nameform

Close Databases
Do Form fGrid Name pfGrid With dataAdres Linked

_Screen.Caption ='реализация '+nameform
pfGrid.GridDataT.Width=pfGrid.Width-5
pfGrid.GridDataT.Height=pfGrid.Height-30
SET CLASSLIB TO "C:\sevasever\FoxPro\trade8\class\navigatormy.vcx" additive
pfGrid.AddObject('navigatormy', 'navigatormy.vcx')
...
Рейтинг: 0 / 0
фундаментальные классы
    #36790941
Alexandr29
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AmKadAlexandr29
Код: plaintext
pfGrid.AddObject('navigatormy', 'navigatormy.vcx')

И все-таки не надо путать класс и библиотеку, даже если в библиотеке один класс.
Согласен
но как программа узнает откуда и какой класс добавить.
исправил на pfGrid.AddObject('navigatormy', 'container')- не правильно а как должно быть
...
Рейтинг: 0 / 0
фундаментальные классы
    #36791012
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Метод AddObject() предполагает, что нужная библиотека классов (файл VCX) предварительно подключена через настройку SET CLASSLIB

Метод NewObject() в качестве 3 параметра может явно указать имя библиотеки классов (файла VCX) из которого надо взять определение указанного класса.
...
Рейтинг: 0 / 0
фундаментальные классы
    #36791166
Alexandr29
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я исправил в соответствии с полученными рекомендациями,

SET CLASSLIB TO "C:\sevasever\FoxPro\trade8\class\navigatormy.vcx" additive
pfGrid.AddObject('navigatormy1', 'navigatormy', )

но теперь ошибка "Определение класса не найдено"

Всем большое спасибо за помощь, а то ковыряюсь в этой проблеме а единой цельной картины так и нет.
...
Рейтинг: 0 / 0
фундаментальные классы
    #36791178
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexandr29Я исправил в соответствии с полученными рекомендациями,

SET CLASSLIB TO "C:\sevasever\FoxPro\trade8\class\navigatormy.vcx" additive
pfGrid.AddObject('navigatormy1', 'navigatormy', )

но теперь ошибка "Определение класса не найдено"

Всем большое спасибо за помощь, а то ковыряюсь в этой проблеме а единой цельной картины так и нет.
А теперь вопрос на засыпку, есть ли класс navigatormy в библиотеке navigatormy.vcx?
...
Рейтинг: 0 / 0
фундаментальные классы
    #36791671
FoxSoftware
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexandr29Для кого-то этот вопрос покажется простым, но меня он поставил в тупик.
Как программно добавить на форму фундаментальные классы в моем случае используется Navigation Toolbar. Или создать
Если его сразу же добавить на форму, то все работает
но при перезапуске этой формы выходят ошибки несоответствия типов. Поэтому хочу его донастроить под себя.
Помогите
Да блин вопрос яйца Ломаного не стоит.
Метод AddObject() конечно же.
...
Рейтинг: 0 / 0
фундаментальные классы
    #36792882
Alexandr29
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AmKadAlexandr29Я исправил в соответствии с полученными рекомендациями,

SET CLASSLIB TO "C:\sevasever\FoxPro\trade8\class\navigatormy.vcx" additive
pfGrid.AddObject('navigatormy1', 'navigatormy', )

но теперь ошибка "Определение класса не найдено"

Всем большое спасибо за помощь, а то ковыряюсь в этой проблеме а единой цельной картины так и нет.
А теперь вопрос на засыпку, есть ли класс navigatormy в библиотеке navigatormy.vcx?

Почему нет, если в окне проекта в группе Classes есть класс с именем navigatormy и путем C:\sevasever\FoxPro\trade8\class\navigatormy.vcx
...
Рейтинг: 0 / 0
фундаментальные классы
    #36793302
Alexandr29
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код
SET CLASSLIB TO "C:\Program Files\Microsoft Visual FoxPro 9\Ffc\_table2.vcx" additive
pfGrid.AddObject('navigatormy1', '_navtoolbarclass')

работает.
И если скопировать файлы _table2.vcx и _base.vcx в проект, соответственно переписав пути в коде - работает.

Но почему не работает если я, через Галерею компонентов, добавляю в проект. На вопрос как отвечаю - создать новый класс. и к нему соответственно обращаюсь.
...
Рейтинг: 0 / 0
фундаментальные классы
    #36793600
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexandr29Но почему не работает если я, через Галерею компонентов, добавляю в проект
По той причине, что пути доступа к файлу, записанные в проекте "не видны" при выполнении программы. Эти пути доступа надо указать явно . Либо через SET PATH, либо (что хуже) через полный путь в команде SET CLASSLIB

Как правило, используют файл конфигурации Config.FPW для того, чтобы указать пути доступа. Причем файл конфигурации делается один на этап разработки и другой для готового EXE.
...
Рейтинг: 0 / 0
фундаментальные классы
    #36793840
Alexandr29
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Использую и
SET PATH
и
SET CLASSLIB
но не работает, сейчас повторно обыграл ситуацию
Ошибка Определение класса _TBRNavigation не найдено

Решение проблемы -скопировать в ручную, в папку проекта необходимые библиотеки
И уже их править.
...
Рейтинг: 0 / 0
фундаментальные классы
    #36794306
Alexandr29Использую и
SET PATH
и
SET CLASSLIB
но не работает, Это такое сообщение об ошибке?сейчас повторно обыграл ситуацию
Ошибка Определение класса _TBRNavigation не найдено

Решение проблемы -скопировать в ручную, в папку проекта необходимые библиотеки
И уже их править.Это очень плохое решение. Set classlib выставлен? Или надеетесь без него обойтись?
...
Рейтинг: 0 / 0
фундаментальные классы
    #36797532
Alexandr29
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проходящий.Alexandr29Использую и
SET PATH
и
SET CLASSLIB
но не работает, Это такое сообщение об ошибке?


Извиняюсь за столь долгие ответы

В коде основного файла прописал
Set Path To Dbf,User,Forms,Reports,Info,CLASS,GRAPHICS,PROGS

А при запуске формы
SET CLASSLIB TO "C:\sevasever\FoxPro\trade8\class\navigatormy.vcx" additive
pfGrid.AddObject('navigatormy1', 'navigatormy')
проходящий.Alexandr29
Решение проблемы -скопировать в ручную, в папку проекта необходимые библиотеки
И уже их править.Это очень плохое решение. Set classlib выставлен? Или надеетесь без него обойтись?
У меня работает, но решение не правильное а как правильно не знаю
Да и исправить ошибку не получается

ошибка- при повторном запуске pfGrid.
В классе _table2.vcx В _navtoolbarclass объект tmrCheck Toolbar на процедуру Timer
при исполнении строк
THIS.Parent.oToolbar.Top = THIS.Parent.nLastTop
THIS.Parent.oToolbar.Left = THIS.Parent.nLastLeft
Пытается присвоить логические значения вместо числовых.

Но добавить условие проверки свойства значения у меня не получилось
От сюда вопрос: Как редактировать класс?

Я понимаю вопрос пространственный, но поэтому и расписываю ситуацию.

Если что не так объяснил не обижайтесь, задавайте вопросы.
...
Рейтинг: 0 / 0
фундаментальные классы
    #36797594
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexandr29
Но добавить условие проверки свойства значения у меня не получилось

Выше я приводил функцию Vartype, которую ты видимо проигнорировал.
...
Рейтинг: 0 / 0
фундаментальные классы
    #36797630
piva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ага - PEMStatus и GetPem уже в хелпе замазали синим фломастером
...
Рейтинг: 0 / 0
фундаментальные классы
    #36797858
Alexandr29
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ура, разобрался программа подхватывала библиотеку _table2.vcx из проекта
а я оказывается правил C:\Program Files\Microsoft Visual FoxPro 9\Ffc\_table2.vcx

Всем огромное спасибо.
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / фундаментальные классы
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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