|
Создание и вызов формы на базе своего класса
|
|||
---|---|---|---|
#18+
Создал класс формы для работы со справочниками. В методе Init формы единственный параметр - имя редактируемой таблицы. На форме пара кнопок и Grid. Так вот, если открывать форму способом oForm = CREATEOBJECT('frmsprclass', lcTableSQL) oForm.Show() то она только менькнёт на экране, а если на базе класса создать .SCX-файл и запускать DO FORM frmspr WITH lcTableSQL, то запускается и работает нормально. READ EVENTS находится в конце стартового .PRG-файла CLEAR EVENTS в процедуре закрытия 1. В чем может быть дело ? 2. Есть ли вообще какая-нибудь разница между двумя этими способами запуска формы ? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2010, 13:01 |
|
Создание и вызов формы на базе своего класса
|
|||
---|---|---|---|
#18+
1. должно натолкнуть на мысль Код: plaintext 1. 2. 3. 4. 5.
2. да, читать все про отличия vcx и scx форм ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2010, 13:56 |
|
Создание и вызов формы на базе своего класса
|
|||
---|---|---|---|
#18+
Предложенный код работает, спасибо. Но не на какие мысли не натолкнул)) Всё-таки хотелось бы услышать про различия. Везде при обсуждении этого мелькают расплывчатые фразы о "неудобстве масштабируемости и сопровождении" без упоминания конкретных возможных неприятностей при использовании .SCX. Ну добававятся, допустим, в моём проекте три новых справочника. Для их вызова нужны будут команды DO FORM frmspr WITH lcTableSQL1 DO FORM frmspr WITH lcTableSQL2 DO FORM frmspr WITH lcTableSQL3 В чем трудности ?? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2010, 14:18 |
|
Создание и вызов формы на базе своего класса
|
|||
---|---|---|---|
#18+
swkxПредложенный код работает, спасибо. Но не на какие мысли не натолкнул)) oForm - переменная-объект, область видимости переменной заканчивается, она автоубивается, поэтому форма исчезает. swkxВсё-таки хотелось бы услышать про различия. Везде при обсуждении этого мелькают расплывчатые фразы о "неудобстве масштабируемости и сопровождении" без упоминания конкретных возможных неприятностей при использовании .SCX. Ну добававятся, допустим, в моём проекте три новых справочника. Для их вызова нужны будут команды DO FORM frmspr WITH lcTableSQL1 DO FORM frmspr WITH lcTableSQL2 DO FORM frmspr WITH lcTableSQL3 В чем трудности ?? Завтра тебе потребуется на одном из 3-х справочников что-то добавить, например кнопку. В случае с классом - унаследуешь frmsprclass и добавишь в дочернем классе эту кнопку. В случае с формой придется либо код городить для прятанья кнопки, или делать копию формы и в дальнейшем вносить общие изменения в обе копии. Лично я предпочитаю промежуточный вариант: есть базовый класс формы справочника в VCX (где прописано все что касается всех справочников), на основе него делается форма для конкретного справочника, а в форме прописываются особенности этого справочника. PS Однозначного ответа как правильно - нет. У каждого подхода есть свои плюсы и минусы. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2010, 14:47 |
|
|
start [/forum/topic.php?fid=41&fpage=88&tid=1584901]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
28ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 124ms |
0 / 0 |