:: Visual Foxpro, Foxpro for DOS
Re: vpf 9 на win7 x64
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
of63
> определять структуру курсора надо в Init формы
А какие сложности?
Ну грид привязанный в редакторе к этому алиасу разрушится. Если не применить BindControls

of63
Если структура переменная, то или создавать грид динамически, либо заготовить несколько заранее (в классах, или положить на форму заранее 2 шт. или более. Сложности в динамическом создании, типа AddObject("Grid") + его программная настройка...
И зачем нам сложности, если можно и без сложностей

of63
> например на основе передаваемых извне параметров - в Load они ещё не доступны
это-то решаемо. Например, параметр можно передать в условленой PUBLIC-переменной
говнокод нинужен.

of63
Или речь про другой источник данных (SQL-запрос например) ?
Да про любое представление или курсор от курсорадаптера - их можно "перезапрашивать" а не страдать фигнёй с ZAP, заливкой свежих данных из другого кусора/запроса... система это за тебя делает - по сути REQUERY (или соответствующий метод адаптера - кажись CursorRefresh - они по сути одно и то же делают) это и есть такой вот ZAP и наполнение "старого" курсора свежими данными - но без явного написания этих команд


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: vpf 9 на win7 x64
of63

Сообщений: 25161
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
of63> определять структуру курсора надо в Init формы
А какие сложности?

ИК>> Ну грид привязанный в редакторе к этому алиасу разрушится. Если не применить BindControls

Как же я живу без этого свойства? Свойство какое-то... малонужное.

У меня систематически, в Init формы (согласно параметрам запуска формы) извлекаются данные (из ДБФ, или откуда то еще, из массива например), структура конечного курсора известна, он прописан в коде Init формы, но алиаса при разработке формы/проекта не существует. Как быть в вашей механике (т.е. я знаю структуру курсора, который возникнет в Init формы, но такого источника данных нет в проекте), как IDE-строить грид на форме?
Ratings: 0 negative/0 positive
Re: vpf 9 на win7 x64
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
of63
of63> определять структуру курсора надо в Init формы
А какие сложности?
Лишние строки кода.

of63
структура конечного курсора известна, он прописан в коде Init формы, но алиаса при разработке формы/проекта не существует. Как быть в вашей механике (т.е. я знаю структуру курсора, который возникнет в Init формы, но такого источника данных нет в проекте), как IDE-строить грид на форме?
Ручками свойства прописывать. Не обязателен курсор на время разработки.


------------------
WBR, Igor
Ratings: 0 negative/0 positive
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
Ratings: 0 negative/0 positive
Re: vpf 9 на win7 x64
AndyNigmatec

Сообщений: 1552
Откуда: Волгоград
Дата регистрации: 28.06.2015
Crispy
Речь шла о следующем:
1) пусть в Load создается таблица.
2) на форме при этом заранее в дизайн-режиме должен быть уже размещен грид, где ресурсом прописана данная, несуществующая до загрузки формы таблица, с привязкой ее полей к ресурсам столбцов грида.
Ну как бы и больше ничего.
Так делал?
Пример в студию.

таки в чем загвоздка то ))))
вот:



Исправлено 1 раз(а). Последнее : AndyNigmatec, 19.01.19 11:55
Ratings: 0 negative/0 positive
Re: vpf 9 на win7 x64
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
of63
Куда "прописывать"? В ControlSource колонки? Так она сотрется, когда я сделаю
Грид.RowSource = m.алиас
Если прописать И ControlSource колонки И RowSource грида в дизайнере, то ничего не сотрётся. И надобность в строке кода Грид.RowSource = m.алиас волшебнымобразом пропадёт
При том если сам курсор создавать в Load (можно без данных, т.е. для Cad передавать флажок NoData либо параметром в строке вызова CursorFill, либо задав одноимённое свойство в самом классе Cad-а), то даже надобности в BindControls не возникнет.
Полезное применение этого свойства - когда курсор создаётся в Init или даже чуть позже - к моменту Init уже сработают "привязки" ControlSource/RowSource и будет нехорошо если соответствующего курсора нет - а свойство "откладывает" эти привязки на потом - т.е. можно создать курсор и установить свойство чтобы привязки начали работать.

of63
Доб. Если это свойство даст нам нестирание ControlSource колонок при смене источника данных грид, то уже поздно уже написаны подпрограммы устраняющие этот "дефект" (программное заполнение теряемых свойств колонок)
Это свойство позволяет убрать данный код (хотя, как я помню, не во всех случаях - вот в момент "начального запуска формы" - точно). И в общем то если система начинает сама делать то что раньше приходилось кодить - это в общем хорошо - упрощение кода (тем более что не всегда он написан лучшим образом).
По сути развитие системы разработки ПО и идёт на основе включения в неё часто нужных и полезных "вручную написаных подпрограмм". Взять тот же Anchor - не проблема его написать на любом старом фоксе, но это под сотню строк не самого очевидного (для прикладного программиста) кода, плюс подвязка этого кода ко всем базовым классам визуальных контролов. Гораздо лучше когда такая возможность "встроена" в систему


------------------
WBR, Igor
Ratings: 0 negative/0 positive
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
Ratings: 0 negative/0 positive
Re: vpf 9 на win7 x64
legion54
Автор

Сообщений: 19
Дата регистрации: 06.10.2016
Crispy
legion54
ssa
compile form contractors

компиляция прошла без ошибок, зато теперь пишет "project file is invalid"
проект навернулся

Ну замени просто два файла проекта .PJX и .PJT из резерва, есть же копии?

Перекомпилировал все форма на которые он ругался (COMPILE FORM) и всё заработало.
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 46 MikhsR dafni_2004  (Гостей: 44)

© 2000-2024 Fox Club 
Яндекс.Метрика