Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
06.11.2008, 05:56
|
|||
---|---|---|---|
|
|||
Не работает пример |
|||
#18+
Есть форма, на ней грид, тип формы модальный, всё стандартно Есть программа которая запускает эту форму... set deleted on set multilocks on close databases all local lcDBC lcDBC = 'C:\FOX\VFP9\SAMPLES\NORTHWIND\NORTHWIND.DBC' open database (lcDBC) oMyCAD = createobject('CursorAdapter') with oMyCAD .Alias = 'Myalias' .DataSourceType = 'Native' .SelectCmd = 'select ADDRESS, CITY, COMPANYNAME, CONTACTNAME' .CursorSchema = 'ADDRESS C(60), CITY C(15), COMPANYNAME C(40), CONTACTNAME C(30)' .Tables = 'CUSTOMERS' .keyFieldList = 'CUSTOMERID' .UpdatableFieldList = 'ADDRESS, CITY, COMPANYNAME, CONTACTNAME' .updateNameList = 'ADDRESS CUSTOMERS.ADDRESS, CITY CUSTOMERS.CITY, COMPANYNAME CUSTOMERS.COMPANYNAME, CONTACTNAME CUSTOMERS.CONTACTNAME' .cursorfill(.t.) endwith DO form form4 Форма запускается и грид показывает записи.... Но если я этот код полностью(кроме последней строчки) переношу в Load этой формы....то грид остаётся пустым...почему? Почему в статусной строке показывается время выбора записей, а в окне "DataSession" видна только таблица CUSTOMERS, а курсора нет ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.11.2008, 07:30
|
|||
---|---|---|---|
|
|||
Не работает пример |
|||
#18+
Переменная oMyCAD разрушается при завершении события load - соответственно разрушается объект КА, т.е. срабатывает деструктор класса, который и подчищает за собой весь "мусор", к которому относится, в том числе, связаный курсор. Вариант - создать у формы пропертю oMyCAD и обращаться к ней как ThisForm.oMyCAD. ... Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.11.2008, 07:50
|
|||
---|---|---|---|
|
|||
Не работает пример |
|||
#18+
Блин, спасибо, я объявил её в Public и всё заработало... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.11.2008, 08:10
|
|||
---|---|---|---|
Не работает пример |
|||
#18+
ННовичокБлин, спасибо, я объявил её в Public и всё заработало... А вот это напрасно.. Лучше последуйте совету Рината. С уважением, Алексей ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.11.2008, 09:11
|
|||
---|---|---|---|
|
|||
Не работает пример |
|||
#18+
почему?.. например :-)), если в unload после того как отработало можно поставить release oMyCAD.. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.11.2008, 09:22
|
|||
---|---|---|---|
Не работает пример |
|||
#18+
ННовичокпочему?.. например :-)), если в unload после того как отработало можно поставить release oMyCAD.. Почему?! Ну, например, вы захотите несколько форм таких заускать одновременно (DataSession = 2). С уважением, Алексей. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.11.2008, 09:24
|
|||
---|---|---|---|
|
|||
Не работает пример |
|||
#18+
А я что-то говорил про PUBLIC ??? Да, действительно, в этом случае область видимости переменной не ограничена методом load формы. Но во первых это дурной тон - гадить туда, где нет необходимости. А во вторых представим себе ситуцию, что запускаем дважды эту форму. У каждой свои условия для КАДа. Что в итоге получим??? Или в первом unload делаем release этой переменной и вторая форма теряет свой источник ??? Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.11.2008, 09:54
|
|||
---|---|---|---|
|
|||
Не работает пример |
|||
#18+
Понял, спасибо..:-) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.11.2008, 11:19
|
|||
---|---|---|---|
|
|||
Не работает пример |
|||
#18+
авторБлин, спасибо, я объявил её в Public и всё заработало... Вам необходимо добавить форме новое свойство, к примеру oCadCUSTOMERS в лоаде написать к примеру this.oCadCUSTOMERS = createobject('CursorAdapter') подъем курсорадаптера createobject('CursorAdapter') лучше вынести в метод кастом класса и в методе кастом класса поднимать кады и проверять успешность и т.д. ... в реальном проекте Вам необходимо пронаследовать базовый класс и создать собственный визуальный класс и использовать уже только этот класс. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.11.2008, 11:45
|
|||
---|---|---|---|
|
|||
Не работает пример |
|||
#18+
извините, но что то сленг не догоняю....а что такое "касты", и ещё вопрос конечно полемический насчёт классов...но так сложился стиль, что сдал задачу и забыл, могут позвонить и через год и через два, попросят добавить кнопку или ещё что..., но если класс вдруг изменён, если на него будут ссылаться другие проекты, то явно вероятность его изменения не равна нулю...и он потянет за собой цепочку ошибок, т.е. проект после сдачи закрывается наглухо, без всяких внешних ссылок на библиотеки...классы удобно наверное когда много программистов ведут одну задачу...а тут например поднять кад есть же и другте варианты...например в prg-шном файле(я и стараюсь выносить по возможности всё из формы, оставляя только наобходимое для интерфейса, ведь мемо поля scx этой формы, гораздо тяжелее востановить чем prg)...но конечно же класс можно писать и в prg файле, только это те же процедуры...а наследование, полиморфизм и т.д....я могу вызвать PRG-файлом...конечно же я буду делать так как предлагают многие через классы...но интуитивно как-то не проникся ещё...:-((...да отвлёкся..что такое "касты" ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.11.2008, 12:45
|
|||
---|---|---|---|
Не работает пример |
|||
#18+
ННовичокно если класс вдруг изменён, если на него будут ссылаться другие проекты, то явно вероятность его изменения не равна нулю...и он потянет за собой цепочку ошибок По этому поводу почитайте "Совершенный код" Макконела. ННовичок...да отвлёкся..что такое "касты" "кастом класс" - это класс, который Вы создатите на основе базового класса CUSTOM. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
07.11.2008, 05:44
|
|||
---|---|---|---|
|
|||
Не работает пример |
|||
#18+
Чего-то я не улавливаю связь между "Проект закрывается наглухо" и "Этот класс может быть модифицированн". Для каждого проекта есть свой набор классов. Каждый проект ссылается на свои библиотеки классов. Как только проект закончен, заливаешь все prg, формы, классы в архив и ждешь до лу... худших времен, когда потребуются какие то изменения. В чем проблема? PS Гордится тем, что при наличии грузовика ты картошку возишь в спортивном порше с открытым верхом и оправдывать это тем, что ты ни разу не сидел за рулем грузовика. И по хрену, что днищем ты по дороге скребешь... ХМ В данном случае, наверное, лучше день потерять, потом за пять минут долететь! Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=41&tablet=1&tid=1587107]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
36ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 144ms |
0 / 0 |