Re: vpf 9 на win7 x64 | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Ну грид привязанный в редакторе к этому алиасу разрушится. Если не применить BindControls И зачем нам сложности, если можно и без сложностей говнокод нинужен. Да про любое представление или курсор от курсорадаптера - их можно "перезапрашивать" а не страдать фигнёй с ZAP, заливкой свежих данных из другого кусора/запроса... система это за тебя делает - по сути REQUERY (или соответствующий метод адаптера - кажись CursorRefresh - они по сути одно и то же делают) это и есть такой вот ZAP и наполнение "старого" курсора свежими данными - но без явного написания этих команд ------------------ WBR, Igor |
Re: vpf 9 на win7 x64 | |
---|---|
of63 Сообщений: 25161 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
of63> определять структуру курсора надо в Init формы
А какие сложности? ИК>> Ну грид привязанный в редакторе к этому алиасу разрушится. Если не применить BindControls Как же я живу без этого свойства? Свойство какое-то... малонужное. У меня систематически, в Init формы (согласно параметрам запуска формы) извлекаются данные (из ДБФ, или откуда то еще, из массива например), структура конечного курсора известна, он прописан в коде Init формы, но алиаса при разработке формы/проекта не существует. Как быть в вашей механике (т.е. я знаю структуру курсора, который возникнет в Init формы, но такого источника данных нет в проекте), как IDE-строить грид на форме? |
Re: vpf 9 на win7 x64 | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Лишние строки кода. Ручками свойства прописывать. Не обязателен курсор на время разработки. ------------------ WBR, Igor |
Re: vpf 9 на win7 x64 | |
---|---|
of63 Сообщений: 25161 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Куда "прописывать"? В ControlSource колонки? Так она сотрется, когда я сделаю
Грид.RowSource = m.алиас Что делать после этой строки? Или эта волшебная Форма.BindControls = .T., не даст запороть настройки грида ? Почитал хелп. Пока не понял ничего в том, для чего эта фигня... Хелп на BindControls: Заданные свойства Контролов или Контейнеров типа Control.ControlSource или Grid.RecordSource связываются с указанными Источниками Данных при Загрузке Формы. (По-умолчанию) Если выполняется Form.BindControls = .T. и Control.ControlSource или Grid.RecordSource изменяются, то для данного Контрола Привязка Повторяется. Если выполняется изменение значения свойства Form.BindControls из .T. - в .F., текущие Связки не изменяются и не Обновляются. Доб. Если это свойство даст нам нестирание ControlSource колонок при смене источника данных грид, то уже поздно уже написаны подпрограммы устраняющие этот "дефект" (программное заполнение теряемых свойств колонок) Исправлено 1 раз(а). Последнее : of63, 19.01.19 09:29 |
Re: vpf 9 на win7 x64 | |
---|---|
AndyNigmatec Сообщений: 1552 Откуда: Волгоград Дата регистрации: 28.06.2015 |
таки в чем загвоздка то )))) вот: Исправлено 1 раз(а). Последнее : AndyNigmatec, 19.01.19 11:55 |
Re: vpf 9 на win7 x64 | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Если прописать И ControlSource колонки И RowSource грида в дизайнере, то ничего не сотрётся. И надобность в строке кода Грид.RowSource = m.алиас волшебнымобразом пропадёт При том если сам курсор создавать в Load (можно без данных, т.е. для Cad передавать флажок NoData либо параметром в строке вызова CursorFill, либо задав одноимённое свойство в самом классе Cad-а), то даже надобности в BindControls не возникнет. Полезное применение этого свойства - когда курсор создаётся в Init или даже чуть позже - к моменту Init уже сработают "привязки" ControlSource/RowSource и будет нехорошо если соответствующего курсора нет - а свойство "откладывает" эти привязки на потом - т.е. можно создать курсор и установить свойство чтобы привязки начали работать. Это свойство позволяет убрать данный код (хотя, как я помню, не во всех случаях - вот в момент "начального запуска формы" - точно). И в общем то если система начинает сама делать то что раньше приходилось кодить - это в общем хорошо - упрощение кода (тем более что не всегда он написан лучшим образом). По сути развитие системы разработки ПО и идёт на основе включения в неё часто нужных и полезных "вручную написаных подпрограмм". Взять тот же Anchor - не проблема его написать на любом старом фоксе, но это под сотню строк не самого очевидного (для прикладного программиста) кода, плюс подвязка этого кода ко всем базовым классам визуальных контролов. Гораздо лучше когда такая возможность "встроена" в систему ------------------ WBR, Igor |
Re: vpf 9 на win7 x64 | |
---|---|
of63 Сообщений: 25161 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Понятно, но уже реально поздно. В эти программы, которые перезаполняют свойства грида, добавлено всякого "полезного" (типа динамического заполнения статических свойств, в зависимости от переменных программы. Можно что-то и в дизайнере красить и оформлять, но когда программно, то эти раскраски собраны в одном месте кода, а не размазаны по свойствам грида...)
> И в общем то если система начинает сама делать то что раньше приходилось кодить - это в общем хорошо - упрощение кода (тем более что не всегда он написан лучшим образом). Да, неплохо бы, чтобы дядя написал всё, лучшим образом, естественно, и забесплатно всем раздал... И за ошибки в его коде платил неустойку! Доб. в скобках Иногда фокс выносит мозг. То, зараза DO CASE CASE .F. CASE Функция && она, функция, сцуко, выполняется! ENDCASE То в Init чего-то написал код, и вызываю This.Init(параметры), а он не выполняется почему-то иногда, про "всегда" не проверял, но вроде скорее выполняется чем нет (от зацикливаний что-ли предохранили нас разрабы фокса) Теперь трачу часы, что под отладчиком работает как надо (какие-то там извращения с InteractiveChange и ProgrammaticChange), а в рантайме нет! блин! Но фокс я пока люблю. И дело не в новой ОС, а просто в фоксе, как в старой бабе, чем больше живешь с ним/ней, тем больше бесит. А деваться некуда. Новых бап не предлагать ) Потратил 3 часа вобщем, не нашел явную причину (задержки ставил, думал, что-то в фоксе тикает по таймеру), хсн. Пусть это будед баг моей проги. Точнее одного из экранов, основан на классе, так все экраны этого класса такой фигней не страдают! опять сорвался... Вобщем, когда будем работать на собственно клиентов, а не на Исправлено 2 раз(а). Последнее : of63, 21.01.19 22:26 |
Re: vpf 9 на win7 x64 | |
---|---|
legion54 Автор Сообщений: 19 Дата регистрации: 06.10.2016 |
Перекомпилировал все форма на которые он ругался (COMPILE FORM) и всё заработало. |
© 2000-2024 Fox Club  |