|
Release формы
|
|||
---|---|---|---|
#18+
День добрый! Вот слепил класс в дизайнере наследующий класс form. Так и не понял как можно в project manager добавить форму являющуюся объектом класса производного от form.... создаю такую форму вызовом createobject(....), в дизайнере класса леплю кнопку с командой thisform.release, ну а Unload и Destroy формы так и не наступают.... Всем читающим: мож кто подскажет ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2010, 17:38 |
|
Release формы
|
|||
---|---|---|---|
#18+
Создать файл SCX на базе собственного класса можно указав в настройках: Tools \ Options \ закладка Forms \ группа объектов "Template classes" \ поставить птичку рядом с "Form" и в появившемся окне указать собственный класс. После этого при создании новой формы (файла SCX) она будет создана на базе указанного класса. Однако можно написать приложение и без создания файлов SCX. Используя только CreateObject() или NewObject(). Это просто другой стиль написания приложения. Вопрос личных предпочтений. Насчет Unload и Destroy - не понял. Что Вы хотите получить в результате? Надеюсь, Вы в курсе, что вернуть значение в переменную, по аналогии с DO FORM MyForm.scx TO MyVar если Вы используете CreateObject() - невозможно? При этой технологии используются другие приемы программирования. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.01.2010, 20:06 |
|
Release формы
|
|||
---|---|---|---|
#18+
авторОднако можно написать приложение и без создания файлов SCX. Используя только CreateObject() или NewObject(). Это просто другой стиль написания приложения. Вопрос личных предпочтений. это не вопрос личных предпочтений, а приученность работать в "старой манере". создание scx влечет: 1. невозможность дальнейшего наследования, огромное количество форм в больших проектах и как следствие - трудносопровожаемость, невозможность быстрой доработки 2. избыточность в виде доп.объектов - ДЕ формы, абсолютно ненужного при определенных приемах ООП и использовании абстрактных классов для работы с таблицами 3. невозможность обыграть поведение (загрузку) , как следствие некоторые проблемы в виде разрушений 4. невозможность "нормального" масштабирования приложений и вызова форм в сложных проектах, состоящих из множества приложений (необходимость создания процедур-оберток) 6. scx-форма - это хлам, который перекочевал из ранних версий в старшую автор ну а Unload и Destroy формы так и не наступают.... приведите пример, демонстрирующий проблему, возможно не убивается какая-то циклическая ссылка на какой-то объект как работать с класс-формами и создавать некоторые абстрактные загрузчики класс-форм (для того чтобы не писать в коде createObject) можно посмотреть здесь: http://www.sql.ru/forum/actualthread.aspx?tid=618865&hl=%ea%eb%e0%f1%f1%fb ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2010, 09:21 |
|
Release формы
|
|||
---|---|---|---|
#18+
ВладимирМ, obj=createobject('myform',....) в дизайнере классов, в классе myform наследуюсь от form и вешаю кнопку в обработчике click которой CLEAR EVENTS thisform.release запускаюсь, при нажатиии кнопки форма не уничтожается... ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2010, 10:42 |
|
Release формы
|
|||
---|---|---|---|
#18+
2 _usa__83_ сделайте минимальный проект, включите в него свою библиотеку и другте модуле, упакуйте и положите сюда в миним. варианте у вас должно быть в проекте - библиотека: класс формы, класс наследник от нее - какой то главный модуль, стартующий все это дело в виде Код: plaintext 1. 2. 3. 4. 5.
у формы у вас кнока, в которой нужен только код Код: plaintext 1.
clear events нужно написать в деструктор самого класса (в реальных приложениях такого не пишут, т.к. приложение не состоит из одной формы) я Вам указал ссылку, там имеются примеры, Вы посмотрели? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2010, 11:05 |
|
Release формы
|
|||
---|---|---|---|
#18+
прошелмимоэто не вопрос личных предпочтений, а приученность работать в "старой манере". А разве это не есть "личные предпочтения"? прошелмимосоздание scx влечет: 1. невозможность дальнейшего наследования, огромное количество форм в больших проектах и как следствие - трудносопровожаемость, невозможность быстрой доработки Напрямую наследование невозможно. Это да. Но немного поработав, сделать наследника можно. Только, когда выдвигают подобный аргумент, как-то упускают из вида, что создание наследника от законченной формы (пусть и в виде класса) - исключительно редкая задача. Более того, даже в виде класса - это тоже очень трудоемкая и невозможная в быстрой доработке. прошелмимо2. избыточность в виде доп.объектов - ДЕ формы, абсолютно ненужного при определенных приемах ООП и использовании абстрактных классов для работы с таблицами Это действительно так. Только когда выдвигают этот аргумент скромно умалчивают о том факте, что для класса приходится писать некий самописный аналог DE-формы. Плюс дополнительный код по привязке ControlSource-объектов к полям таблицы. прошелмимо3. невозможность обыграть поведение (загрузку) , как следствие некоторые проблемы в виде разрушений Почему же. Очень даже возможно. Стандартное ветвление кода в Init-формы. А проблемы с разуршением возможны и при использовании классов. прошелмимо4. невозможность "нормального" масштабирования приложений и вызова форм в сложных проектах, состоящих из множества приложений (необходимость создания процедур-оберток) Не аргумент. При использовании классов процедура-обертка также необходима для запуска из внешних APP/EXE. прошелмимо6. scx-форма - это хлам, который перекочевал из ранних версий в старшую Сама терминология и аргументация уже говорит исключительно о личном отношении. "В своем глазу бревна не замечаешь" ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2010, 12:12 |
|
Release формы
|
|||
---|---|---|---|
#18+
2 ВладимирМ, Код: plaintext
не пойти-бы на фоксклаб Вам, сударь? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2010, 12:15 |
|
Release формы
|
|||
---|---|---|---|
#18+
_usa__83_ВладимирМ, obj=createobject('myform',....) в дизайнере классов, в классе myform наследуюсь от form и вешаю кнопку в обработчике click которой CLEAR EVENTS thisform.release запускаюсь, при нажатиии кнопки форма не уничтожается... Вообще-то, так не делают. Т.е. команда CLEAR EVENTS не дается при закрытии формы, а выносится во вне. А где Вы даете команду READ EVENTS? Надеюсь, не в методах самой формы? Это как раз и может вызвать подобный эффект. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2010, 12:16 |
|
Release формы
|
|||
---|---|---|---|
#18+
2 _usa__83_ смотрите пример, котрый я указал и пробуйте каким-то образом понимать некоторые механизмы, приведенные там, понимать некий абстрактный подход. для оказания Вам конкретного совета по Вашим проблемам необходим от Вас какой-то пример, который можно будет отсюда взять и воспроизвести(посмотреть) у нас. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2010, 12:18 |
|
Release формы
|
|||
---|---|---|---|
#18+
ВладимирМ , прошелмимо Прошу прощения за оффтоп. Но касательно Вашего спора. У меня в проекте, порядка 70 формсетов, в каждем формсете в среднем 4-6 форм, все данные получаются из веб-сервиса(тоже написанного на фокспро). Привязку данных к елементам управления на форме произвожу кодом. Хотел-бы попробовать задействовать DE, но не совсем понимаю как это можно сделать. Это первый вопрос, и второй прошелмимоscx-форма - это хлам, который перекочевал из ранних версий в старшую а что использовать вместо визуальных форм? З.Ы. Не холивара ради, хочу понять как можно более эффективно использовать VFP9. З.Ы.Ы Если нужно, давайте перейдем в новую тему. И я могу сделать пример проектов для показа как делаю сейчас и выслушать критику и предложения по улучшению. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2010, 12:39 |
|
Release формы
|
|||
---|---|---|---|
#18+
авторНе холивара ради, хочу понять как можно более эффективно использовать VFP9. смотрите пример построения фрейма, подход данный не терпит использование scx-форм, это ООП, поэтому приходится некоторым образом делить и оперировать с объемами различных сущностей. автора что использовать вместо визуальных форм? визуальные класс-формы: - универсальные построители-видоизменители в случае возможности такового; - либо разработка "влоб" визуальных класс-форм в случае невозможности динамики (либо трудозатратности, либо ....) scx подходит для каких-то не сложных (не объемных) проектов, иначе - это обширное количество файлов с трудным(затратным) сопровождением, + проблемы в сложных(разбитых по архитектуре) проектах, когда ко всем прелестям возникают проблемы со сборкой проектов. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2010, 12:48 |
|
Release формы
|
|||
---|---|---|---|
#18+
Игорь Горбонос прошелмимоscx-форма - это хлам, который перекочевал из ранних версий в старшую а что использовать вместо визуальных форм? В данном случае спор ведется не об использовании форм как таковых, а о способе создания экземпляра формы в рабочем приложении. Это можно сделать двумя способами: 1. Создать файл SCX и запускать его на исполнение DO FORM MyForm.scx 2. Создать класс на базе класса Form и запускать его на исполнение CreateObject('MyClass') С точки зрения пользователя результат будет одинаковый. Пользователь увидит форму. Вопрос именно в способе создания этой формы "внутри" FoxPro. Лично я считаю, что оба способа равнозначны. Что больше нравится и удобнее в данном конкретном случае, то и следует использовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2010, 12:49 |
|
Release формы
|
|||
---|---|---|---|
#18+
авторС точки зрения пользователя результат будет одинаковый. Мужчина, Вы меня все больше удивляете. А с точки зрения разработчика, который стремиться к минимизации трудозатрат? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2010, 12:52 |
|
Release формы
|
|||
---|---|---|---|
#18+
прошелмимоавторС точки зрения пользователя результат будет одинаковый. Мужчина, Вы меня все больше удивляете. А с точки зрения разработчика, который стремиться к минимизации трудозатрат? Это зависит от самого разработчика. Язык программирования и используемые инструменты - не при чем. FoxPro - это инструмент, который требует повышенной самодисциплины от разработчика. Если был "бардак" на стадии планирования, то получишь "бардак" на этапе разработки. И уж какими технологиями при этом пользоваться совершенно не важно. Просто FoxPro не "бьет по рукам" сразу. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2010, 12:56 |
|
Release формы
|
|||
---|---|---|---|
#18+
Игорь Горбонос Возможно, Вам имеет смысл посмотреть вот этот цикл статей (там все по русски, несмотря на английские заголовки) Статьи о некоторых аспектах применения технологии MS VFP (Visual FoxPro). ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2010, 12:57 |
|
Release формы
|
|||
---|---|---|---|
#18+
ВладимирМпрошелмимоавторС точки зрения пользователя результат будет одинаковый. Мужчина, Вы меня все больше удивляете. А с точки зрения разработчика, который стремиться к минимизации трудозатрат? Это зависит от самого разработчика. Язык программирования и используемые инструменты - не при чем. FoxPro - это инструмент, который требует повышенной самодисциплины от разработчика. Если был "бардак" на стадии планирования, то получишь "бардак" на этапе разработки. И уж какими технологиями при этом пользоваться совершенно не важно. Просто FoxPro не "бьет по рукам" сразу. Мужчина, Вы написали "словесный понос". Итак, когда разработчик видит способы снижения трудозатрат, он выбирает такие способы. А то, что для пользователь не видит разницы на экране - это как раз будет результат, получаемый меньшми трудозатратами. А дисциплина и "бардак" это уже из другой "песни о главном". ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2010, 13:06 |
|
Release формы
|
|||
---|---|---|---|
#18+
Мужчина, Вы меня вновь удивили. При суждении о трудозатратах при разработке ПО, реплика: авторЯзык программирования и используемые инструменты - не при чем. очень смелая. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2010, 13:12 |
|
Release формы
|
|||
---|---|---|---|
#18+
> Автор: прошелмимо > смотрите пример построения фрейма, Не понял какой пример смотреть > визуальные класс-формы: > - универсальные построители-видоизменители в случае возможности такового; > - либо разработка "влоб" визуальных класс-форм в случае невозможности динамики > (либо трудозатратности, либо ....) Но это получается мы "зашиваем" весь специфический функционал в класс. Но использовать можем только для какого-то узкоспециализированного места, ради которого и создавался класс. Я правильно понимаю? И если да, то в чем выгода от класса. Разве что на его основе создать форму и включить в проект уже саму форму и что-то в ней доизменить. > scx подходит для каких-то не сложных (не объемных) проектов, > иначе - это обширное количество файлов с трудным(затратным) сопровождением, > + проблемы в сложных(разбитых по архитектуре) проектах, > когда ко всем прелестям возникают проблемы со сборкой проектов. с другой стороны если в какой-то форме нужно что-то доделать, я отдал форму коллеге, он сделал и я просто скопировал от него измененную форму, если эта форма была с библиотеке классов, то это уже вызывает затруднения в случае изменения другого класса из этой библиотеки. Если каждый класс в отдельном файле, то чем ситуация отличается от варианта с формами? Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2010, 13:12 |
|
Release формы
|
|||
---|---|---|---|
#18+
тобишь рассуждая о ..., ну Вы меня поняли. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2010, 13:13 |
|
Release формы
|
|||
---|---|---|---|
#18+
2 Игорь Горбонос , давайте вначале пример посмотрите, не хочу я писать километры, нет никакого желания + Мужчина утомит ("слышит звон, но не знает где он") вот здесь, во 2-м и 3-м топике http://sql.ru/forum/actualthread.aspx?tid=726331 лежит финал некоторого фрейма, который как раз и показывает каким образом сократить трудозатраты при разработке проекта, рез-том выполнения которого будет множество каких-то подобных экранных форм вывод о возможности применения данного подхода(приема разработки) при реализации поставленных перед Вами задач Вы сделаете самостоятельно ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2010, 13:23 |
|
Release формы
|
|||
---|---|---|---|
#18+
авторНо это получается мы "зашиваем" весь специфический функционал в класс. мы "зашиваем" в класс все общее для группы однотипных объектов, которые затем будем создавать используя класс. далее мы видоизменяем у такого класса то, что необходимо для каждого объекта (набор данных, отображаемых контролов, логику выполнения и т.д.) наивысшим пилотажем будет вариант использования для такого видоизменния каких-то предзаготовленных настроечных сущностей, создание этих настроек посредством абстрактных визуальных билдеров, передача данных "преднастроек" классу, разбор и видоизменение класса уже именно этими "преднастройками" ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2010, 13:35 |
|
Release формы
|
|||
---|---|---|---|
#18+
> Автор: ВладимирМ > Статьи о некоторых аспектах применения технологии MS VFP (Visual FoxPro). С этих статей и началось моё знакомство с веб-сервисами только в них не описывается использование DE. Поэтому у меня привязка контролов происходит в коде программы, как показано в статье, а я хотел-бы попробовать задействовать DE, если это возможно, но не знаю как. Например у меня процедуры на сервере могут возвращать как курсор в XML, так и просто число, сигнализирующее об ошибке. Как обойти этот момент я не знаю, т.к. прописав вызов функций изменения данных прямо в CursorAdapter у меня нет возможности контролировать получаемое значение, что бы как то влиять на поведение CursorAdapterа в случае получения не XML с курсором, а числа, сигнализирующего об ошибке. Можно изменить поведение процедуры на сервере, что бы всегда возвращать XML с курсором, но тогда не понятно как возвращать ошибку обработки на клиента. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2010, 14:18 |
|
Release формы
|
|||
---|---|---|---|
#18+
Код: plaintext 1.
непонятно какой у Вас сервер, если это MySql, то я ничем не помогу относительно Ms Sql я приводил пример обработки ошибки сгенерированной raiserror в ХП и полученной КАД ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2010, 14:41 |
|
Release формы
|
|||
---|---|---|---|
#18+
> Автор: прошелмимо > относительно Ms Sql я приводил пример обработки > ошибки сгенерированной raiserror в ХП и полученной КАД Сервер MS SQL 2000, а ссылкой не поделишся? Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2010, 14:50 |
|
Release формы
|
|||
---|---|---|---|
#18+
бд и пример здесь, нужен 2005 сервер http://sql.ru/forum/actualthread.aspx?tid=726131&hl=2005 сервер возьми отсюда http://www.microsoft.com/downloads/details.aspx?familyid=220549b5-0b07-4448-8848-dcc397514b41&displaylang=en смотри на триггер DocState_delete Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
на клиенте увидишь обработку ошибки, код ошибки и т.д. сможешь также передать доп параметром raiserror, и разрулить на клиенте каким-то своим хитрым способом, все зависит от фантазии. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2010, 14:57 |
|
Release формы
|
|||
---|---|---|---|
#18+
прошелмимотобишь рассуждая о ..., ну Вы меня поняли. Да. Причем давно. Сценарий наших дискуссий всегда один и тот же. Такой же, как в данном случае: - Вы высказали свои аргументы - я высказал аргументированное сомнение в справедливости Ваших слов - Вы перешли на личности... Т.е. доказательствами Вы себя не утруждаете. С Вашей точки зрения "Существует два мнения: одно мое, другое - неправильное" Ну, а заставляет меня вмешиваться именно безапеляционность и бездоказательность Ваших высказываний... Цель моего вмешательства в дискуссии с Вашим участием - это показать то, что, как минимум, приводимые Вами аргументы не абсолютны и вызывают обоснованные сомнения. Не есть "истина в последней инстанции". Показать не Вам (Вы любые аргументы просто игнорируете). Показать участникам дискуссии. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2010, 15:58 |
|
Release формы
|
|||
---|---|---|---|
#18+
> Автор: прошелмимо У тебя пример двухзвенки, в которой получить это не представляет проблем, у меня трехзвенка, и получить эту информацию от SQL-сервера я тоже могу и получаю и дальше формирую строку с признаком ошибки и отдаю на клиента, где проверяю полученную строку на признак ошибки и если нахожу, вытаскиваю само сообщение для показа пользователю. Но клиент общается с серверной частью при помощи SOAP, я не знаю какую структуру данных формировать в случае ошибки, что-бы она "пролезла" через SOAP и на клиенте её можно было обработать нативными средствами, как это делается в моем веб-сервере и в твоем примере при прямом общении с SQL-сервером. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2010, 15:59 |
|
Release формы
|
|||
---|---|---|---|
#18+
авторТ.е. доказательствами Вы себя не утруждаете. Мужчина, мне нах не нужно что-то лично Вам доказывать, идите на фоксклаб и там доказывайте. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2010, 16:10 |
|
Release формы
|
|||
---|---|---|---|
#18+
ВладимирМ , прошелмимо Вы оба классные специалисты. Читать Ваши ответы одно удовольствие. Вести дисскусию - ещё большее удовольствие. Но у Вас различаются подходы к ответам. Вы, ВладимирМ , даёте маленькую теоретическую вводную, с помощью которой, спрашивающий сам выбирает как ему поступить в его случае. Что очень способствует пониманию того, как можно решать возникшие проблемы. Перейдя в VFP от VB6, C++Builder, мне очень не хватало таких маленьких лекций и я их и сейчас внимательно читаю. Спасибо! Вы, прошелмимо , даете пример и говорите делай как я. Что в итоге способствует решению вопроса, НО для извлечения дополнительных бонусов, нужно иметь зачастую более высокую подготовку, чем имеет спрашивающий. Я кстати, внимательно изучал некоторые Ваши примеры, когда начинал писать на VFP и перенимал опыт как правильно писать. Спасибо! Я считаю что Вы, дополняете друг, друга. Так дополняйте, а не пикетируйтесь. От этого выиграют все. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2010, 16:19 |
|
Release формы
|
|||
---|---|---|---|
#18+
2 Игорь Горбонос авторя не знаю какую структуру данных формировать в случае ошибки относительно строк все просто: анализировать по началу строки XML это или нет если отработало нормально, то отдаем строку: <?xml version .... иначе(ошибка): EROR ..., ну или как-нить придумать относительно: автор Но клиент общается с серверной частью при помощи SOAP, я не знаю какую структуру данных формировать в случае ошибки это вопрос не ко мне, я с этим добром не работал в сило того что нет необходимости. относительно примера, то он демонстрирует явный выигрышь и простоту абстрактной настройки некоторых задуманных сущностей и механизм взаимодействия настроек-абстрактных механизмов работы с данными-рисования интерфейса. далее уже Ваше желание понять эти преимущества и каким-то образом задуматься о необходимости использования такого способа разработки. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2010, 16:19 |
|
Release формы
|
|||
---|---|---|---|
#18+
авторПоказать не Вам (Вы любые аргументы просто игнорируете). Показать участникам дискуссии. Мужчина, уже есть прогресс. авторЭто да. 2 года назад Вы писали только главы словесного поноса. Возможно через пару лет мы договоримся. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2010, 16:27 |
|
Release формы
|
|||
---|---|---|---|
#18+
прошелмимоавторТ.е. доказательствами Вы себя не утруждаете. Мужчина, мне нах не нужно что-то лично Вам доказывать, идите на фоксклаб и там доказывайте. При чем тут я? Я же прошу доказательств для тех, кому Вы что-то объясняете. Если Вы думаете, что Ваши оскорбления и хамство - это доказательства, то Вы очень сильно заблуждаетесь. прошелмимо авторЭто да 2 года назад Вы писали только главы словесного поноса. Возможно через пару лет мы договоримся. Как обычно, Вы читаете слова, а не текст. Если бы Вы прочитали следующее за вырванной фразой предложение, то увидели бы, что моя позиция не изменилась. Просто я делаю скидку на Ваше хамство и нетерпимость к чужому мнению. Пишу в доступной для Вас форме ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2010, 20:46 |
|
Release формы
|
|||
---|---|---|---|
#18+
Игорь Горбонос ВладимирМ , прошелмимо Я считаю что Вы, дополняете друг, друга. Так дополняйте, а не пикетируйтесь. От этого выиграют все. Так я тоже именно так и считаю. Я просто показываю, что есть и другие способы решений. Ничем не хуже предложенных им. Только он почему-то крайне нервно реагирует на ЛЮБОЕ сомнение в правильности его слов. Сразу начинает хамить. Видимо, это какие-то проблемы сугубо личного характера у прошелмимо . ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2010, 20:51 |
|
Release формы
|
|||
---|---|---|---|
#18+
ВладимирМпрошелмимоавторТ.е. доказательствами Вы себя не утруждаете. Мужчина, мне нах не нужно что-то лично Вам доказывать, идите на фоксклаб и там доказывайте. При чем тут я? Я же прошу доказательств для тех, кому Вы что-то объясняете. Если Вы думаете, что Ваши оскорбления и хамство - это доказательства, то Вы очень сильно заблуждаетесь. прошелмимо авторЭто да 2 года назад Вы писали только главы словесного поноса. Возможно через пару лет мы договоримся. Как обычно, Вы читаете слова, а не текст. Если бы Вы прочитали следующее за вырванной фразой предложение, то увидели бы, что моя позиция не изменилась. Просто я делаю скидку на Ваше хамство и нетерпимость к чужому мнению. Пишу в доступной для Вас форме так и я Вам парирую в доступной форме. в данном обсуждении мы выяснили, что Вам более интересно рассматривать стратегию разработки с позиции пользователя. О снижении трудозатрат Вы не задумываетесь. Вы первый враг фокспро, о чем я неоднократно заявлял, и попробую об этом позднее разъяснить для разработчиков старше ясельной группы детсада. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.01.2010, 21:48 |
|
Release формы
|
|||
---|---|---|---|
#18+
_usa__83_ Совсем вас забросили с перепалками :-) Я сделал так: в классе формы в QueryUnload прописал Return .T. в классе кнопок, для выхода с формы IF thisform.QueryUnload() _screen.ActiveForm.release() ENDIF Если при закрытии формы необходимо выполнить какой либо код, то его можно записать в в QueryUnload формы, будь то сохранение данных или еще что. Теперь при закрытии формы кнопкой или крестиком - у вас всегда будет отрабатывать нужный код. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2010, 09:54 |
|
Release формы
|
|||
---|---|---|---|
#18+
GoshaS, авторСовсем вас забросили с перепалками :-) ждемс очередного высеперла от Кулинара, затем повеселимся вновь, посетители фоксклаба - молчат, верной дорогой идете, товарищи: двое - в драке, третий цветочки собирает покритикую ниваабидуканечно, может натолкнет на мысль (не из-за злобы и выпендрежа, а на воблаго) авторв QueryUnload прописал Return .T. в классе кнопок, для выхода с формы IF thisform.QueryUnload() _screen.ActiveForm.release() ENDIF оригинально, только этот метод совсем не для этого предназначен, он предназначен для предотвращения выгрузки формы посредством проверки каких-то условий и в случае необходимости отмены этой выгрузки. закрытие формы посредством скрина еще более оригинальное решение именно для вызова непосредственно из кнопки самой формы, так как форма находится через ссылку thisform. согласен с теоретиком-кулинаром, о том, что фокспро - это средство-мазохист, которое удивляет своей устойчивостью к любым извращениям ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2010, 10:50 |
|
Release формы
|
|||
---|---|---|---|
#18+
Вот мой вариант. Код: plaintext 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2010, 11:31 |
|
Release формы
|
|||
---|---|---|---|
#18+
GoshaSВот мой вариант. Код: plaintext 1. 2. 3. 4. 5. 6. 7.
мои варианты Вы можете посмотреть в примере, указанном по ссылке QueryUnload: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
ну и код класса-кнопочки закрывалочки Код: plaintext 1. 2. 3. 4. 5. 6.
но это уже сложнее и предназначено не только для закрытия формы, а для осуществления ряда дополнительных проверок на: - наличие потроганности и несохраненности данных - обработки различных "желаний" - ну и т.д. В классическом варианте: THISFORM.Release() должна подавать откуда угодно, но не из QueryUnload. QueryUnload сработает и по нажатию на крестик в заголовке. Этот метод как раз и стартует перед анлоадом формы, т.е. тем методом который инициализируется THISFORM.Release(). в QueryUnload посредством команды NODEFAULT как раз отменять выгрузку формы в случае необходимости таковой (недать потерять потроганные и не сохраненные данные или еще что-либо) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2010, 12:06 |
|
Release формы
|
|||
---|---|---|---|
#18+
немного подправлюсь: QueryUnload сработает при нажатии на крестик закрытия формочки перед методом Destroy, а затем уже метод Unload ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2010, 12:20 |
|
Release формы
|
|||
---|---|---|---|
#18+
Возможно я не так выразился. QueryUnload в классе формы стоит по умолчанию Код: plaintext
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Код: plaintext 1. 2. 3. 4. 5. 6. 7.
Вот и все различия. Ни о каком вызове уничтожения формы из QueryUnload - речи не идет. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2010, 12:40 |
|
Release формы
|
|||
---|---|---|---|
#18+
авторНи о каком вызове уничтожения формы из QueryUnload - речи не идет. тогда мир - дружба -жевачка. но топикпастеру пока не до методов QueryUnload там решение пока необходимо намного проще в виде простого релиза самой формы из объекта самой формы. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.01.2010, 13:16 |
|
Release формы
|
|||
---|---|---|---|
#18+
Игорь Горбонос З.Ы. Не холивара ради, хочу понять как можно более эффективно использовать VFP9. З.Ы.Ы Если нужно, давайте перейдем в новую тему. И я могу сделать пример проектов для показа как делаю сейчас и выслушать критику и предложения по улучшению. 2 Игорь Горбонос, пожалуйста создайте свой топик, там если возможно какой-то пример с инструкциями, возможно мы совместно создадим какие-то абстрактные механизмы применительно к таким задачам, иначе Ваш опыт также будет всем полезен. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2010, 10:22 |
|
Release формы
|
|||
---|---|---|---|
#18+
> Автор: прошелмимо_ Хорошо, я подготовлю тестовый проект и создам тему Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2010, 10:34 |
|
Release формы
|
|||
---|---|---|---|
#18+
http://forum.foxclub.ru/read.php?29,424083 топикпастера попросите сюда дело в том, что грид имеет особенность привязываться к любой текущей области, если у него пустые ссылки на источник. инит контролов грида, затем самого грида проходит раньше инита формы, поэтому происходит привязка контролов не к тем источникам и полям, соответственно контролам выставляется ридонли. топикпастеру в рекордсоурсы необходимо написать .null., либо правильно прописать рекордсоурсы, а еще лучше обратить внимание на абстрактный механизм настройки атрибутов колонок грида, продемонстрированный ранее, это избавит от анализа подобных ошибок, сократит трудозатраты. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.01.2010, 12:25 |
|
|
start [/forum/topic.php?all=1&fid=41&tid=1585654]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
39ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
77ms |
get tp. blocked users: |
1ms |
others: | 11ms |
total: | 170ms |
0 / 0 |