powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / форма в app
45 сообщений из 45, показаны все 2 страниц
форма в app
    #34579767
Alexey - M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Есть проблема такого рода:
Приложение вызывает функцию в APP которая "светит" (через Do FORM ) форму , которая лежит в этой же APP и все OK. Из формы вызываеться еще одна форма (допустим при добавлении записи ) которая так же лежит в этой же APP и возникает ошибка. Фокс говорит что не может найти форму с таким именем и указывает где ищет. Вот вопрос: как сказать фоксу что форма которую нужно запустить лежит в той же APP откуда ее и вызывают ?
...
Рейтинг: 0 / 0
форма в app
    #34579850
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Фокс и так форму в app ищет, дополнительно указывать ничего не надо.
Форма может быть не включена в app (в проекте посмотри кружок перечеркнутый возле имени формы)
А форму как вызываешь? с полным путем или только имя формы?
...
Рейтинг: 0 / 0
форма в app
    #34579854
Alexey - M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T, все включено. Имя без пути.
Все вроде бы так, да вот что-то не так получается.
...
Рейтинг: 0 / 0
форма в app
    #34579881
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
http://www.sql.ru/forum/actualthread.aspx?tid=390725&hl=%f4%ee%f0%ec%e0+scx

форма scx - зло
...
Рейтинг: 0 / 0
форма в app
    #34579886
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вам нужно сделать в апп функции,
через которые поднимать формы

или нормально писать библиотеки виз.классов
и спокойно с ними работать
...
Рейтинг: 0 / 0
форма в app
    #34579916
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey - MDima T, все включено. Имя без пути.
Все вроде бы так, да вот что-то не так получается. А код вызова покажи. В IDE-то работает?
...
Рейтинг: 0 / 0
форма в app
    #34579925
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex11100Вам нужно сделать в апп функции,
через которые поднимать формы

или нормально писать библиотеки виз.классов
и спокойно с ними работать Не грузите новичков, он и так на ровном месте запутался.
...
Рейтинг: 0 / 0
форма в app
    #34580185
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T

не груби, зануда - покусаю

Alexey - M я так понимаю
из приложения тянет форму, которая лежит в другом приложении

чтобы поднимать такие формы нужен подъем через обертку-функцию
...
Рейтинг: 0 / 0
форма в app
    #34580227
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexey - M?

сообщите Вы работаете с одной апп-шкой, или формы лежат в дополнительной

в вопросе много слов и не оч.понятно
...
Рейтинг: 0 / 0
форма в app
    #34580268
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex11100Alexey - M я так понимаю
из приложения тянет форму, которая лежит в другом приложении
Читать умеешь? Alexey - M... которая так же лежит в этой же APP и возникает ошибка...
...
Рейтинг: 0 / 0
форма в app
    #34580413
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
думать умеешь??

я читать умею

но я не думаю, что человек, который задает
вопрос
попутал язык в именовании или не включил в проект форму
...
Рейтинг: 0 / 0
форма в app
    #34582549
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex11100форма scx - зло
Как обычно, сморозил глупость и в кусты. А отдуваться должен кто-то другой...
...
Рейтинг: 0 / 0
форма в app
    #34582664
Alexey - M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМ, да, интересно видеть человека который порет тут откровенную чушь выдвая это за личную гениальность :) Спишем это на молодость. Хотя, тщеславие данного юнита к хорошему не приведет. Классы конечно хорошо, только когда пишешь дополнение к системе ПАРУС - это только вредит
...
Рейтинг: 0 / 0
форма в app
    #34582942
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторКак обычно, сморозил глупость и в кусты.

умирает лис.
из-за упорной совместимости с пред.версиями.
и из-за таких упертых людей, которые упорно пользуются своими
старыми и проверенными методами, а на поделки седны смотрят
как на игрушки, и придумывают свои велосипеды

я могу написать много про борьбу с scx,
когда мне приходится прикручивать классы всем доступным перебором
возможностей, когда приходится вставлять костыли, чтобы произвести взлет в нормальной последовательности, когда через-чур умная форма лезет куда ее не просят и т.д.....

да, я сторонник большой и красной кнопки, конструкторов и фреймворков ...
у меня оч. сложные классы ....
поэтому форма scx для меня - зло
...
Рейтинг: 0 / 0
форма в app
    #34582945
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я сторонник ООП и плоские процедуры для меня - зло
...
Рейтинг: 0 / 0
форма в app
    #34583069
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 ВладимирМ

дайте ответ на такой вопрос.

разрабатываем приложение
состоит из стартового модули + некоторое кол-во app

если в апп-шках scx формы
чтобы поднимать формы, которые лежат в app
придется написать или n-кол-во функций-оберток,
или-же одну с безумным кол-вом условий проверок
или-же одну шаманскую с макроподстановкой

если vcx, то проблема выльется
в одну строку
set classlib to ... in ....

Вам уже пытались объяснить, что наличие DE в форме scx - лишняя обуза
Вам уже пытались объяснить, что неизвестно в каком месте необходимо
остановить оборачивание класса и сделать форму, которая затем не позволит породить
наследника.
Вам уже объясняли о проблемах на взлете формы, при изменении размеров,
контролы взлетают иногда в ненужной последовательности и приходится
их спец. образом перекладывать (при наличии большого кол-ва виз. классов на форме - смерти подобно)
проблемы на модальных формах при странном разрушении (при наличии тулбар-активикса),
когда просто игнорируется метод шоу.
и еще воз и маленькая тележка ...
...
Рейтинг: 0 / 0
форма в app
    #34583111
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторпишешь

оч. тяжело тянуть бегемота и болота ...
...
Рейтинг: 0 / 0
форма в app
    #34583135
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторпорет тут откровенную чушь

так-таки всегда???

ну тогда, ухожу в монастырь

нет, просто я не могу быть "и Вашим и Нашим"

у меня есть принципы, которых я придерживаюсь
и постоянно озвучиваю,
Ваше дело - возмущайтесь,
но возможно кто-то прислушается, и это будет полезным

- процедурное программирование - зло
- макроподстановка - зло
- при разработке масштабных приложений, применяя ООП,
применяя принципы и законы Логики в лисе можно каким-то образом жить
- для любителей безумия - остальное
...
Рейтинг: 0 / 0
форма в app
    #34583168
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 ВладимирМ

новичкам в лисе нужно
показывать и рассказывать:

не плодите километры, занимайтесь ООП, думайте ...

а у Вас, как топтались на месте, так и топчутся
...
Рейтинг: 0 / 0
форма в app
    #34583450
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
автортщеславие данного юнита к хорошему
это к чему Вы ляпнули?

авторкогда пишешь дополнение к системе ПАРУС

странное понятие о разработке, если уж состарились,
тем паче Парус на классах, но ... - наследие ранних версий


подъем форм самого Паруса нужно делать, вызывая
процедуру formstart, которая находится в исполняемом запущенном модуле
(Account.EXE, Acctrade.EXE и т.д.)

Код: 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.
* это текст самой formstart 
LPARAMETERS FILENAME, FORMPARAMS
LOCAL I, CSCX
IF OSYSTEM.SINGLEWINDOW
FOR I = _SCREEN.FORMCOUNT TO  1  STEP - 1 
CSCX = SYS( 1271 , _SCREEN.FORMS(I))
IF TYPE("cScx")=='C'
CSCX = UPPER(JUSTSTEM(CSCX))
IF CSCX=UPPER(ALLTRIM(FILENAME)) .AND. _SCREEN.FORMS(I).WINDOWTYPE= 0 
IF _SCREEN.FORMS(I).WINDOWSTATE= 1 
_SCREEN.FORMS(I).WINDOWSTATE =  0 
ENDIF
_SCREEN.FORMS(I).SHOW()
RETURN
ENDIF
ENDIF
ENDFOR
ENDIF
IF  .NOT. EMPTY(FORMPARAMS)
DO FORM &FILENAME WITH &FORMPARAMS
ELSE
DO FORM &FILENAME
ENDIF
ENDPROC
...
Рейтинг: 0 / 0
форма в app
    #34583593
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2ВладимирМ

авторА отдуваться должен кто-то другой

Вы возложили на себя обязанности ОТК,
хранителя незыблимисти и .... лисы?
Так из за Вас первого она и умрет.

Я же Вам уже говорил - Вы находитесь на своем уровне,
и не далее.
понимания и желания понимать зачем и почему ООП - 0.
понимание абстракции на уровне Малевича.
Ну не желаете развиваться, понимать, зачем эти возмущения?

ну пишите себе спокойно ду форм ...
а может кому-то станет интересно и начнут писать библиотеки
...
Рейтинг: 0 / 0
форма в app
    #34583681
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2ВладимирМ

меня также задевает, когда Вы вместо демонстрации событийности
контейнера проекта, меняете ему байт в заголовке

или всесто кода, в котором можно показать
подъем объекта и создание акцесс и ассайн-методов,
Вы тупо кодите километровый ду кейс?

что это??
стремление к простоте??
кому проще Вам?? или кто это делать будет??

ну раз Вы учитель, и повесили на себя титул ...,
то и демонстрируйте возможности лисы,
а не тупое шаманство - перебитие байта в заголовке таблицы

ну что Вы нового в новой книге показали???
начали за-здравие, и затем закончили программным описанием классов??
или в другом Питерском издании 3 рисунка дизайнера и заткнулись.
...
Рейтинг: 0 / 0
форма в app
    #34583810
Alexey - M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alex11100:
1 ) formstart - метод объекта TUnit который просто вызывает процедуру RunForms (а не процедура, как Вы заявляете )
2 ) Cама RunForms не видит формы определенной в другой APP (что естественно ).
Если Вы уж взялись что-то расказывать, вы хотябы предмет изучили =)
Пока вы тут надули грудь и философствовали в попытке оригинальности, я уже и сам разобрался.
Спасибо.
P.S: А вот старшим грубить не надо.
...
Рейтинг: 0 / 0
форма в app
    #34583822
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр, по всем Вашим пунктам я отвечать не буду. Вы все равно не читаете то что я пишу. Вернее, читаете отдельные слова, а потом обвиняете меня в том, что сами же и придумали. Большая часть написанного здесь Вами - это Ваши же собственные фантазии или полное игнорирование моих ответов.

Для примера, почитайте ту ветку на которую Вы сами же и дали ссылку. Я объяснил в чем там проблема и никакого нарушения последовательности срабатывания событий НЕТ! Вы же просто проигнорировали не устраивающий Вас ответ.

Какой смысл о чем-то спорить с человеком, который просто игнорирует любые аргументы? Вы хоть на один мой аргумент ответили?

Поэтому, я по прежнему утверждаю, Вы просто не понимаете то, о чем (и на чем) пишете! Вы механически используете команды и функции не пытаясь даже как-то понять, а как они функционируют. Поэтому, постоянно налетаете на самые разнообразные "грабли", но обвиняете в этом почему-то не свое непонимание, а "злонамеренность" разработчиков FoxPro.
...
Рейтинг: 0 / 0
форма в app
    #34583847
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
перестаньте ерунду городить

понятно, что можно несколькими способами

я Вам указал самый простой,
в котором есть макроподстановка
...
Рейтинг: 0 / 0
форма в app
    #34583905
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМ

я это прокушал и ....

Вы упрямый. я еще упрямей

за 13 лет в фоксе.
я вижу преимущества scx и преимущества vcx
я вижу преимущества prg и преимущества ...

прг и ду форм уже проели давно, уже все понятно и давно.
...
Рейтинг: 0 / 0
форма в app
    #34583911
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
о каком непонимании Вы говорите

Вы думаете я не знаю последовательности взлета формы???
и не понимаю как взметнуть в отличии от формы классы
различными путями??

Вы для какого уровня знаний объясняете???

Вам пытаются объяснить преимущества класса,
Вы городите одно и то-же про...

Можно Машку за ляжку, но ...

все, достали, дурдом
...
Рейтинг: 0 / 0
форма в app
    #34583960
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Alexey - M

в чем Вы разобрались???
то что некорректно задали вопрос??
столкнули лбами??

ну напишите себе на стене!
scx - зло. т.к. проблема в масштабировании приложения!!
проблема с вызовом из других приложений!!
...
Рейтинг: 0 / 0
форма в app
    #34584002
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторCама RunForms не видит формы определенной в другой APP

RunForms видит свои формы
формы доп.приложения звать нужно или из доп.приложения,
или создав в этом приложении библиотеку
и при старте паруса из самого паруса
подцепить ее выполнив
set classlib to in

тогда из любого места незадумываясь
можно поднимать классы
...
Рейтинг: 0 / 0
форма в app
    #34584315
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex11100за 13 лет в фоксе.
К сожалению, это ни о чем не говорит. Возвраст - это количество прожитых лет, а не объем знаний.

alex11100я вижу преимущества scx и преимущества vcx
я вижу преимущества prg и преимущества ...
Это как раз то, что я от Вас так долго и разными способами добиваюсь. АРГУМЕНТИРУЙТЕ свои выводы. Поскольку Вы НИКОГДА этого не делает, я делаю вывод - Вы НЕ ПОНИМАЕТЕ о чем говорите.

alex11100прг и ду форм уже проели давно, уже все понятно и давно.
Кроме Вас, вероятно. Единственный вывод который можно сделать, что у обоих способов есть достоинства и недостатки. Говорить, что один из них плохой, а другой хороший можно только в рамках конкретной даже не задачи, а идеологии. Но никак "вообще". Практически любую задачу можно решить как через VCX, так и через SCX. За редким исключением в очень специфических случаях.

alex11100Вы думаете я не знаю последовательности взлета формы???
Да. Не знаете!

В этом меня убеждает игнорирование ответа в приведенной Вами же ссылке. Точнее, Вы НЕ ХОТИТЕ в этом разбираться!

alex11100Вам пытаются объяснить преимущества класса,
Вы городите одно и то-же про...
Вы опять приписываете мне свое собственное поведение. Это как раз Вы напрочь игнорируете любое мнение отличное от Вашего.

Я все время пытаюсь ОБЪЯСНИТЬ, а Вы все время пытаетесь НАВЯЗАТЬ.

Кроме того, я все никак не могу понять, из чего Вы сделали вывод, что я против ООП вообще и против классов в частности? Только из того, что я показываю ДРУГОЙ способ решения? И ОБЪЯСНЯЮ, почему в данном кокретном случае этот ДРУГОЙ способ будет проще?
...
Рейтинг: 0 / 0
форма в app
    #34584336
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВладимирМ Говорить, что один из них плохой, а другой хороший можно только в рамках конкретной даже не задачи, а идеологии. Но никак "вообще". Практически любую задачу можно решить как через VCX, так и через SCX. За редким исключением в очень специфических случаях.
+1
...
Рейтинг: 0 / 0
форма в app
    #34584365
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я Вам и объясняю, что авторидеологии изменились в сторону ООП.
...
Рейтинг: 0 / 0
форма в app
    #34584377
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторПрактически любую задачу можно решить как через VCX, так и через SCX.

Если выпить ЙАДУ, то через некоторое время, почувствуешь легкое недомогание.
...
Рейтинг: 0 / 0
форма в app
    #34584413
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторДа. Не знаете!

я знал это и знаю,
это и показал, и сам пример сделал, и размер сдернул

разжевывать я эту ерунду не стал и не буду.
Что Вы ерунду городите?

Вам еще примеры насовать??

но только где Ваши примеры с демонстрацией
новых подходов и возможностей?
с объяснением преимущества применения классов?? и ООП?
...
Рейтинг: 0 / 0
форма в app
    #34584470
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
http://forum.foxclub.ru/read.php?26,236182,236838#msg-236838


ответ через год

какие доказательства?
я ведь привел один - проблема подъема в масштабном приложении

Вывод,
масштабное приложение, которое еще
и придется сопровождать необходимо реализовывать на классах.

Вам в топике еще приводили аргументы ...
...
Рейтинг: 0 / 0
форма в app
    #34584513
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМ

авторнастоящие программеры
и про кусты


Вы ведь сами провоцируете свистопляски, а затем ...
...
Рейтинг: 0 / 0
форма в app
    #34584953
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex11100Вы ведь сами провоцируете ...
Модератор: Есть предложения закрыть топик как неконструктивный, переходящий на личности
...
Рейтинг: 0 / 0
форма в app
    #34584975
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр, я уже неоднократно Вам говорил, что Вы просто НЕ ЧИТАЕТЕ даже те посты, ссылки на которые Вы сами же и приводите. Если бы Вы хотя бы попытались ПОНЯТЬ о чем там говорилось имело бы смысл продолжать с Вами диалог.

Проблемы с масштабированием? Я приводил аргумент, что если SCX - это back-end VCX, то проблемы с масштабированием либо нет вообще, либо они сопоставимы по сложности с чистым VCX. Вы, как обычно, это гордо проигнорировали!

Про кусты:

Это значит я к месту и не к месту подписываю специально выделенным шрифтом "ХХХ-зло" никак это не обосновывая? Ну и что можно ответить на высказывание: ХХХ - зло? Только "сам дурак!" поскольку никакого другого ответа Вы просто не понимаете!

И, кстати, Вы по прежнему НИЧЕГО не ответили на мои возражения против тех тезисов, которые лично Вам кажутся аргументами "против" SCX и "за" VCX. НИ РАЗУ! Вы все время скатываетесь к банальной ругани. Поэтому, "про кусты" - это опять про Вас!

И, кстати, с чего началось в данной теме?
...
Рейтинг: 0 / 0
форма в app
    #34585095
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Иди ты на фоксклаб

автор "сам дурак!"

- проблема подъема формы, лежащей в одном апп из другого

- проблема с необходимостью блокирования методов на взлете

- проблема с методом Show у мод.форм при наличии на форме активиксов

- избыточный ДЕ при наличии своих дата-классов

- невозможно пронаследовать
...
Рейтинг: 0 / 0
форма в app
    #34585286
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex11100- проблема подъема формы, лежащей в одном апп из другого
Имеет решение. Самие же знаете.

alex11100- проблема с необходимостью блокирования методов на взлете
Смотря каких и в каких ситуациях. В любом случае проблема решаемая. Сами же знаете.

alex11100- проблема с методом Show у мод.форм при наличии на форме активиксов
Это Вы про классы? При использовании DO FROM использовать метод Show() смысла не имеет. Впрочем, проблема ActiveX на модальных формах есть. Но она также решаема. Сами же знаете.

alex11100- избыточный ДЕ при наличии своих дата-классов
А это Вы про что? Базовые классы FoxPro тоже имеют кучу "избыточных" методов и свойств. Возражение не уместно...

alex11100- невозможно пронаследовать
А зачем?

Вообще-то, все предыдущие возражения - детский лепет. Уровня: это сложно решить через SCX, значит его мы использовать не будем никогда и ни при каких условиях. Заметьте, речь не идет о том, что нечто невозможно решить в принципе. Речь идет о том, что чуть сложнее. Чаще всего именно "чуть", причем в очень специфических ситуациях. Можно накидать аналогичных "возражений" по поводу классов, но особого смысла это не имеет.

Собственно, единственный камень преткновения, вокруг которого все и крутится - это проблема наследования. От SCX нельзя породить наследников.

Но! Очень большое "но"! Никто даже не пытается обосновать зачем? Когда реально возникает необходимость наследования от конечной формы?

Ну, предположим, сделали форму на базе класса. Она конечная. Когда теоретически может возникнуть необходимость в отлаженном и работающем приложении породить наследника от этой конечной формы? А теперь прикиньте пути решения этой проблемы? При использовании VCX и SCX уровень сложности будет сопоставим. Принципиальной разницы нет.
...
Рейтинг: 0 / 0
форма в app
    #34585320
Alexey -M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alex11100, во первых, щенок, на Вы. Во вторых не путай версии. Ты уже и так ибешь мозг себе, мне не иби, ладно. Сделай такое одолжение.
...
Рейтинг: 0 / 0
форма в app
    #34585540
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторотлаженном и работающем приложении
чаще всего приложение приходится поддерживать и дорабатывать

авторКогда теоретически может возникнуть необходимость в отлаженном и работающем приложении породить наследника от этой конечной формы?
это когда Вам ТЗ на стол положили с описанием доработки
Хотим мы мол вот эдак, а тетя Валя хотела-бы, чтобы осталось как было.
Или: с 01.01.2007 вводятся новые форматы ... и т.д.

авторметод Show() смысла не имеет
DATAENVIRONMENT.OPENTABLES
DATAENVIRONMENT.BEFOREOPENTABLES
FORM.LOAD
INIT for each cursor in the DataEnvironment
DATAENVIRONMENT.INIT
INIT for each control in the form
FORM.INIT
FORM.SHOW
FORM.ACTIVATE
FORM.REFRESH
WHEN for 1st control in TabOrder
GOTFOCUS for 1st Control in TabOrder (if it has one)

конечно, дорогой Вы наш учитель, а зачем??


авторА зачем?
ну такая вот она плохая концепция и принципы ООП.

В Логике есть такие принципы и законы, которые указывают на необходимость
производить различные операции с однотипными элементами каких-бы ни-было объемов.
...
Рейтинг: 0 / 0
форма в app
    #34586962
= )
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
= )
Гость
alex11100, ты самый крутой ) успокойся уже. То что ты тут пытаешься навящать за гениальность всем было понятно еще 20 ет назад. такое бывает,дай Бог чтобы прошло. И еще, а че ты на С++ не пишешь, если уж такой преверженец чистого ООП ? ;)
...
Рейтинг: 0 / 0
форма в app
    #34590254
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По моему, самое время вернуться к началу. Т.е. ответить на вопрос, а чем собственно формы отличаются от классов? Не по способу реализации, а по сути.

Что такое "класс"? Вы когда-нибудь делали дубликаты ключей от квартиры? Мастер находит у себя некоторую заготовку максимально близкую по форме к Вашему ключу. А потом происходит "доработака напильником по месту".

На основании одной и той же заготовки можно сделать много разных ключей от разных замков.

Так вот, эта самая "заготовка ключа" и есть "класс", а готовый результат (ключ) - "форма".

В чем принципиальная разница "заготовки" и "ключа"? В том, что в идеологии FoxPro у класса не должно быть явной привязки к данным. Другими словами все свойства вроде TextBox.ControlSource в собственно классе остаются пустыми. Не заполненными.

Как только Вы явно указываете значение ControlSource, т.е. осуществляете привязку к данным, Вы создаете "форму". Как бы и где бы она физически ни хранилась. Хоть в файле VCX, хоть в PRG, хоть в SCX.

Почему? Да потому, что привязка к данным автоматически, если не отменяет совсем, то существено ограничивает возможность создать на базе "заготовки" другие "ключи".

Ну, представьте себе, что мастер уже начал точить для кого-то ключ из заготовки. Даже если он не закончил этот процесс и прервался на середине, много ли у него шансов встретить клиента, которому подойдет уже частично сделанный ключ? Скорее всего - мало. Либо надо будет закончить ключ для того, для кого начал, либо просто выбросить эту заготовку.

Теперь главный вопрос. А как же осуществить на практике эту самую привязку к данным? Ведь, в конце-то концов, работа происходит не с классом, а с формой!

Собственно, есть два принципиальных способа это осуществить:

Во-первых, заняться программированием и написать программный код, который осуществлял бы нужную привязку в момент создания из класса собственно формы. Именно по такому пути вынуждены двигаться приверженцы "чистого" VCX или PRG.

Во-вторых, можно воспользоваться специальным "дизайнером", который называется "форма" и который сохраняет результат своей работы в файле SCX.

Другими словами, файл SCX - это просто дизайнер, позволяющий визуальными средствами осуществить привязку объектов в предварительно созданных классах к конкретным данным (таблицам).

В свете всего сказанного, вызывает недоумение попытка выставить как недостаток файлов SCX то, что при определенных условиях необходимо дополнительное программирование. Ведь при использовании "чистого" VCX или PRG количество этого самого программирование изначально больше. Причем намного!


проблема с необходимостью блокирования методов на взлете

Поскольку, в идеологии FoxPro привязка к данным может быть осуществлена только и исключительно в собственно форме, но никак не в классе, то файл SCX рассматривается как объект, выполняющий некоторую "доработку напильником по месту" после того, как будет создан объект, на основе ранее описанного класса.

Другими словами, при загруке файла SCX сначала формируются сами объекты, ранее описанные в классах. И только потом , происходит настройка (изменение свойств) этих сформированных объектов.

В частности, если Вы создали класс Grid с некоторыми фиксированными размерами (Height, Width), положили экземпляр этого класса на форму в файл SCX и изменили эти размеры, то при загрузке формы произойдет следующее:

-) Сначала будет сформирован объект Grid на основе класса "как есть". С указанныим в собственно классе свойствами высоты и ширины

-) Потом, после создания объекта Grid произойдет изменение его размеров. Естесственно, поскольку объект уже существует, то любая операция с этим объектом вызывает немедленное срабатывание событий, связаных с этими изменениями. В данном случае, произойдет два последовательных срабатывания события Grid.Resize()

Именно этим объясняется "нарушение" порядка событий при открытии формы. Это не нарушение. Это особенность работы.

Для класса, такого не наблюдается именно в силу того, что класс - это еще не сам объект. Это его "заготовка". Вот как класс описан, такая заготовка и есть. Со всеми указанными размерами.
...
Рейтинг: 0 / 0
форма в app
    #34590262
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex11100 авторотлаженном и работающем приложении
чаще всего приложение приходится поддерживать и дорабатывать

авторКогда теоретически может возникнуть необходимость в отлаженном и работающем приложении породить наследника от этой конечной формы?
это когда Вам ТЗ на стол положили с описанием доработки
Хотим мы мол вот эдак, а тетя Валя хотела-бы, чтобы осталось как было.
Или: с 01.01.2007 вводятся новые форматы ... и т.д.

Александр, Вы вообще-то пробовали читать сообщение ДО КОНЦА прежде чем отвечать? И не надо выдергивать цитаты из контекста.

ВладимирМНу, предположим, сделали форму на базе класса. Она конечная. Когда теоретически может возникнуть необходимость в отлаженном и работающем приложении породить наследника от этой конечной формы? А теперь прикиньте пути решения этой проблемы? При использовании VCX и SCX уровень сложности будет сопоставим. Принципиальной разницы нет.
Вот прежде чем что-то критиковать, попробуйте ПОДУМАТЬ! Докажите, что во всех приведенных Вами случаях использование чистых VCX потребует меньше усилий при модификации приложения, чем использование SCX как конец иерархии VCX.

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


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