:: Обсуждаем проекты
Re: Менеджер решений - новый взгляд на ...
s66
Автор

Сообщений: 689
Откуда: Владивосток
Дата регистрации: 09.02.2007
Новая версия Менеджера решений
https://forum.foxclub.ru/file.php?29,file=5664
Если в редактируемом програмном файле содержатся описания классов, то станет доступна кнопка просмотра в режиме Class Browser. На форме появися дерево классов, а на верхней панели строка с возможностью выбора процедур доступных для этого класса. Все унаследованные процедуры и функции будут доступны в этом списке. Если выбранная процедура или функция содержится в нескольких классах, то станет доступна кнопка View parent code. При выборе из меню определённого класса, выбранная процедура для этого класса будет показана в окне редактирования.
https://forum.foxclub.ru/file.php?29,file=5662
Если в коде содержится ссылка на Н-файл (INCLUDE ****) и этот файл расположен в одной папке с редактируемой программой,то станет доступна кнопка "Include file". При её нажатии откроется Н-файл. Если перед этим выделить директиву в тексте программы,и если эта директива определена в Н-файле, то будет показано значение для этой директивы. Если в программе определены несколько Н-файлов, появится список этих файлов. Можно открыть и посмотреть или создать Н-файлы ("New H-file").
https://forum.foxclub.ru/file.php?29,file=5663
Кнопка для ленивых (для меня ), вставляет куски кода в текст проги.
https://forum.foxclub.ru/file.php?29,file=5661
РАБОТА СО СТАНДАРТНЫМИ ОКНАМИ РЕДАКТИРОВАНИЯ ПРОГРАММНОГО КОДА
Если в главном окне VFP будет активным стандартное окно редактирования, то станет доступна кнопка вставки фрагментов кода из сохраненных примеров. Для встаки кусков кода дважды щелкните мышкой на выбранном примере (нижний список главного окна программы) Появится вспомогательное окно для просмотра текста примера. Можно скопировать его целиком в стандартное окно, а можно выделить часть
кода в вспомогательном окне и нажть кнопку INSERT. Программный код будет вставлен на место нахождения курсора (если в этом окне будет выделенный текст, то он будет заменен на новый)
https://forum.foxclub.ru/file.php?29,file=5665
Новую версию выложил на Файловый архив - Обсуждаем поекты.
Ну остается попросить Piva опубликовать его и как знатока PRG протестировать и потыкать носом в глюки!
Ratings: 0 negative/0 positive
Re: Менеджер решений - новый взгляд на ...
s66
Автор

Сообщений: 689
Откуда: Владивосток
Дата регистрации: 09.02.2007
ЗЫ! Чёта скрин шоты не появились!? Не понял
Ratings: 0 negative/0 positive
Re: Менеджер решений - новый взгляд на ...
piva

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
Вообще - забавно и очень даже
Глюк видел только пока один. Когда тыкаешь кнопочку "Назад" иногда вылетает ошибка Array Dimension is invalid - это после того как открываешь несколько PRG'шке подряд.
В остальном - очень даже и ничего, особенно здорово смотрится окно редактора в окне.
Респект и уважуха


------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive
Re: Менеджер решений - новый взгляд на ...
s66
Автор

Сообщений: 689
Откуда: Владивосток
Дата регистрации: 09.02.2007
Спасибо!
А идея окна редактора а окне VFP принадлежит не мне, а Владу Колосову. Только она была немного
сырая, но опирался я на его решение. Так что спасибо ему
Что то попробывал по открывать несколько PRG шек подряд, ошибки пока не вижу, да и странная она какая - то, там вообщето защита стоит, ну да ладно завтра покапаюсь.
За то нашел еще глюк. Когда открываешь библиотеку классов с описанием базового класса в другом файле
то почему то слетает название редактируемой программы
LOWER(JUSTFNAME(ThisForm.cNamePrg)) # LOWER(ALLTRIM(env[1]))
Вот это глюк... завтра буду разбираться, сегодня поздно уже...
Ratings: 0 negative/0 positive
Re: Менеджер решений - новый взгляд на ...
s66
Автор

Сообщений: 689
Откуда: Владивосток
Дата регистрации: 09.02.2007
Скинул новую версию Менеджера решений.
Новые возможности :
1. Возможность открывать VCX файлы. При выборе VCX файла откроется диалог выбора способа открытия. Опция Full Tree показывать полное дерево - будут показаны все родительские объекты для классов содержащихся в библиотеке. Опция Add All Objects - в создаваемый PRG файл будут добавлены классы объектов из других VCX файлов, ссылки на которые содержаться в открываемом файле. Можно посмотреть всю библиотеку, а можно только выбранные классы.
В принципе мы получаем вполне рабочую PRG библиотеку, за исключением случаев когда вложенность объектов более двух. Т.е. если в форму добавляется объект контейнер, а в него уже добавляются другие контролы. Сообщение о том что данный PRG файл будет не исполняемым появится в заголовке файла, а перед описанием класса где содержится ошибка появится коментарий Error Code. В моём рабочем проекте библиотеки создаются уже полностью рабочие, но нужно немного доработать.
2. Улутшена функция построения дерева объектов. В прошлом варианте была ошибка (как и у Фоксовского Class Browser ), т.е. если описание родительского класса в тексте программы будет расположено ниже дочернего, дерево не построится.
3. Добавлен ToolBar c кнопками для вставки стандартных текстовых блоков (Try .. ENDRTY, IF ... ЕNDIF и т.д.), кнопка для вставки текста примера в редактируемую программу или метод объекта, кнопка быстрого создания нового проекта с директориями и главной программой, ну и кнопкой для скрытия главного окна программы. Я назначаю быструю клавишу для вызова этой App. Первое нажатие открывает главное окно, второе скрывает его (см. Options).
4. В этой версии я отказался от попыток создавать экземпляы классов (Define class). За место неё появилась кнопка Properties. Показывает все свойства класса, в ключая все родительские. Только в режиме Class Browser!
Всетаки основное назначение этой программы - КОНСТРУКТОР ПРОГРАМНОГО КОДА! Для демонстрации этих возможностей я намерено не стал сильно чистить базу и оставил свою библиотеку API функций. Для втавки апишной функции в код программы достаточно дважды на ней щелкнуть (или перетащить мышкой в Tree окна редактирования или нажать на кнопку в панели управления) и функция будет помещена в програмный код. В базе можно сохранять целые методы объектов, а потом добавлять их во вновь создаваемые объекты (см. папку Forms).
Ну а с остальным, я думаю разберётесь.
Честно говоря я полный ноль в prg, поэтому прошу сильно не кидаться помидорами. Поганяйтен прогу и потыкайте носом в ошибки!
Остается попросить Пива побыстрее опубликовать архив!
Ratings: 0 negative/0 positive
Re: Менеджер решений - новый взгляд на ...
piva

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
Уже опубликовал


------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive
Re: Менеджер решений - новый взгляд на ...
s66
Автор

Сообщений: 689
Откуда: Владивосток
Дата регистрации: 09.02.2007
ЗЫ
Цитата:
Делать "работающую prg" - не думаю что ты с этим справишься.
Ужасно не люблю когда так говорят!
Наверное поэтому и сделал работающую prg!
Ratings: 0 negative/0 positive
Re: Менеджер решений - новый взгляд на ...
PuMa

Сообщений: 153
Откуда: Комсомольск-на-А
Дата регистрации: 19.04.2006
Если установить программу в папку, в имени которой есть пробел, вылетает ошибка: Invalid path or filename
Ratings: 0 negative/0 positive
Re: Менеджер решений - новый взгляд на ...
PuMa

Сообщений: 153
Откуда: Комсомольск-на-А
Дата регистрации: 19.04.2006
Еще ошибка: при первом запуске программы, если на запрос имени dbf'ки ответить "отмена", вываливается ошибка: RETURN/RETRY statement not allowed in TRY/CATCH. (Error 2060)
Ratings: 0 negative/0 positive
Re: Менеджер решений - новый взгляд на ...
s66
Автор

Сообщений: 689
Откуда: Владивосток
Дата регистрации: 09.02.2007
Если установить программу в папку, в имени которой есть пробел, вылетает ошибка: Invalid path or filename
Забыл про кавычки! Бывает!
Цитата:
Еще ошибка: при первом запуске программы, если на запрос имени dbf'ки ответить "отмена", вываливается ошибка: RETURN/RETRY statement not allowed in TRY/CATCH. (Error 2060)
Даже не подозревал что можно запустить программу без базы данных!
Откуда же она брать данные будет! Тут не Try, а запрет запуска нужен!
Ладно завтра исправлю!



Исправлено 1 раз(а). Последнее : s66, 30.01.08 14:20
Ratings: 0 negative/0 positive
Re: Менеджер решений - новый взгляд на ...
PuMa

Сообщений: 153
Откуда: Комсомольск-на-А
Дата регистрации: 19.04.2006
Наткнулся еще на один недочет
При открытии VCX файла выдается окошко-запрос. Если его закрыть крестиком в заголовке окна, то вываливается ошибка: Function argument value, type, or count is invalid (Error 11).
А вообще классная идея и красивая реализация! Спасибо!
Ratings: 0 negative/0 positive
Re: Менеджер решений - новый взгляд на ...
Penner

Сообщений: 4102
Откуда: Muenster
Дата регистрации: 26.04.2002
A mogno ENG. variant?
Ratings: 0 negative/0 positive
Re: Менеджер решений - новый взгляд на ...
s66
Автор

Сообщений: 689
Откуда: Владивосток
Дата регистрации: 09.02.2007
Цитата:
A mogno ENG. variant?
What is "ENG. variant"? Это таблицу перевести на английский?
Ratings: 0 negative/0 positive
Re: Менеджер решений - новый взгляд на ...
piva

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
Нет - все решение с надписями и прочим


------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive
Re: Менеджер решений - новый взгляд на ...
s66
Автор

Сообщений: 689
Откуда: Владивосток
Дата регистрации: 09.02.2007
Ну это нужно посидеть и покопаться где ещё что-то не переведено, но по моему основное всё на английском. Может конечно где-то и забыл, завтра пороюсь (уж больно кода много).
Все решение - это конвектор в 'рабочую' PRG? или как?
Ratings: 0 negative/0 positive
Re: Менеджер решений - новый взгляд на ...
piva

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
Не знаю, пусть Саня пояснит что ему надо


------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive
Re: Менеджер решений - новый взгляд на ...
s66
Автор

Сообщений: 689
Откуда: Владивосток
Дата регистрации: 09.02.2007
Не знаю, я так понял что таблицу с примерами. Тогда подождем, пусть объяснит подробнее!
Ratings: 0 negative/0 positive
Re: Менеджер решений - новый взгляд на ...
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Привет Михаил!

Видимо ты недопонял про что я говорил

Хотя сам же пишешь

* ~ * ATTENTION!
* ~ * THIS CODE IS NOT RUN!***
и даже явно
*** Error Code ***
*** Parent Object - f1.pf1.pag1 ***
ADD OBJECT pf1.pag1.grd1 AS grid

И никакого простого и корректного способа побороть это нет. Ну таков язык, таковы его особенности...


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Менеджер решений - новый взгляд на ...
s66
Автор

Сообщений: 689
Откуда: Владивосток
Дата регистрации: 09.02.2007
Я же писал в пояснениях, что нашел простой и корректный способ создания рабочего PRG! А в этой версии я специально оставил все "так есть", чтобы можно корректно посмотреть дерево классов.
Ларчик посто открывался! Нужно создать дополнительный класс - контейнер из объекта pag1 в PRG файле и заменить в коде ADD OBJECT pf1.pag1.grd1 AS grid на ADD OBJECT grd1 AS NewClass! Порядок инициализации объектов при этом сохраняется! Ну это в следующей версии. Нужно немного доработать вложенность объектов более двух, т.е. придетя создавать несколько дополнительных классов , тока на сколько глубоко копать вложенность - пока не думал . В рабочей версии у меня уже есть возможность сохранять отдельные классы как в PRG библиотеках, так и в VCX (и все получается рабочее).
А пока идея - не всегда нужно тащить за собой все родительские классы. Я хочу сделать возможность "упаковать" класс, т.е. создать один на основе базовых, а его уже сохранять в нужном виде. Хотелось бы услышать мнение народа!
Ratings: 0 negative/0 positive
Re: Менеджер решений - новый взгляд на ...
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Привет Михаил!

Цитата:
простой и корректный способ
Цитата:
Нужно создать дополнительный класс - контейнер
Цитата:
придетя создавать несколько дополнительных классов

Это всё не вяжется друг с другом - это НЕ простой способ, Этот способ вызовет некоторые побочные эффекты - в частности для "рефлексивных" действий - т.е. для запросов имени (и библиотеки хранения) родительского класса...

А что касается "нескольких дополнительных" - возьми форму, положи на неё грид скажем с 20 колонками - и оцени СКОЛЬКО потребуется таких дополнительных классов (а их ведь ещё и именовать надо как-то чтобы не было пересечений по именам)...
Думаю после этого станет более понятен мой скепсис относительно "простого" перевода vcx в prg.


------------------
WBR, Igor
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 3 (Гостей: 3)

© 2000-2024 Fox Club 
Яндекс.Метрика