|
Рвется База :)
|
|||
---|---|---|---|
#18+
НадеждаМВот что смогла выдрать из программы. И чего прикажешь с этим делать? Запускаю DO FORM lp_fmstart получаю ошибку: File 'uprof.dbf' does not exist. Все что я могу сказать по поводу этого кода: никаких аномалий не увидел, все работает нормально, только файлов кое-каких не хватает. Изучать нерабочий кусок чужой проги тут никто не будет. Я же вроде человеческим языком писал: Dima TЕсли не поможет - выкладывай пример с повторением глюка. Стандартных лекарств от этого нет, это глюк движка фокспро, лечить можно только "методом научного тыка". И надо чтобы было куда "тыкать" Кроме тебя похоже никто такого глюка еще не видел. Надо так выложить, чтобы распаковал, запустил и сразу глюк увидел. Поэтому готовь пример кода так чтобы просто запускался (с файлом проекта и чтобы по кнопке "Build" EXE собирался) и чтобы глюк присутствовал (с инструкцией как его повторить). Только сама сначала у себя все проверь перед тем как сюда слать. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2010, 12:10 |
|
Рвется База :)
|
|||
---|---|---|---|
#18+
Фокс у нас на работе стоит 9- лицензионный, сервис пак 2.... Разбираюсь я в ЧУЖОМ коде (тот кто писал это, уже давно уволился). Отладку по шагам делаю. Удалять объекты пока не рискую, потому что не разобралась до конца что и к чему в ЧУЖОМ коде. "За тебя никто отлаживать тут не будет!" - а я и не просила за меня что-то отлаживать ) "Могу помочь за определённую плату - время деньги" - это не ко мне, так как прога не моя лично :) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2010, 12:28 |
|
Рвется База :)
|
|||
---|---|---|---|
#18+
Надо так выложить, чтобы распаковал, запустил и сразу глюк увидел. Поэтому готовь пример кода так чтобы просто запускался (с файлом проекта и чтобы по кнопке "Build" EXE собирался) и чтобы глюк присутствовал (с инструкцией как его повторить). Только сама сначала у себя все проверь перед тем как сюда слать. В ближайшее время постараюсь сделать...немного разгребу с более глобальными проблемами :) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2010, 12:31 |
|
Рвется База :)
|
|||
---|---|---|---|
#18+
НадеждаМФокс у нас на работе стоит 9- лицензионный, сервис пак 2.... Разбираюсь я в ЧУЖОМ коде (тот кто писал это, уже давно уволился). Отладку по шагам делаю. Удалять объекты пока не рискую, потому что не разобралась до конца что и к чему в ЧУЖОМ коде. "За тебя никто отлаживать тут не будет!" - а я и не просила за меня что-то отлаживать ) "Могу помочь за определённую плату - время деньги" - это не ко мне, так как прога не моя лично :) класс-форма mn_fmx вот это безобразие: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
на курсорадаптер будем переделывать? проц-ру или ф-ю loadgrid покажите + из инита формы прыгать в зад нужно с фолсом х.з. как там ф-ма рушится - для меня загадка. к коду есть где придраться, поэтому предлагаю немного подточить для начала. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2010, 12:46 |
|
Рвется База :)
|
|||
---|---|---|---|
#18+
прошелмимоНадеждаМФокс у нас на работе стоит 9- лицензионный, сервис пак 2.... Разбираюсь я в ЧУЖОМ коде (тот кто писал это, уже давно уволился). Отладку по шагам делаю. Удалять объекты пока не рискую, потому что не разобралась до конца что и к чему в ЧУЖОМ коде. "За тебя никто отлаживать тут не будет!" - а я и не просила за меня что-то отлаживать ) "Могу помочь за определённую плату - время деньги" - это не ко мне, так как прога не моя лично :) класс-форма mn_fmx вот это безобразие: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
на курсорадаптер будем переделывать? проц-ру или ф-ю loadgrid покажите + из инита формы прыгать в зад нужно с фолсом х.з. как там ф-ма рушится - для меня загадка. к коду есть где придраться, поэтому предлагаю немного подточить для начала. Я понимаю что это безобразие и, то что надо на курсорадаптер переделать, но это чуть попозже. loadgrid поищу выложу. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2010, 12:56 |
|
Рвется База :)
|
|||
---|---|---|---|
#18+
НадеждаМ Я понимаю что это безобразие и, то что надо на курсорадаптер переделать, но это чуть попозже. loadgrid поищу выложу. 1. именовать курсоры необходимо уник-ми именами 2. запрос к серверу вынести в отдельный метод, котор. должен произойти до инита ф-мы (желат-но лоад ф-мы), т.е. до старта инита должны быть получены все курсоры с сервера, если это не произошло - ф-ма должна завалиться взад до инита. в ините привязать контролы, либо из инита позвать метод-привязывалку. 3. дергать инит ф-мы в др. контролах - верх безобразия. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2010, 13:02 |
|
Рвется База :)
|
|||
---|---|---|---|
#18+
НадеждаМ, Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33.
это жесть жестяная и танцы с бубеном. подсмотреть "танцы" с меньшими трудозатратами. пример подобных танцев смотреть здесь: тытынц там есть метод обхода и начитки св-в колонкам класс-грида SetColumnsHeadersProperties, который в моем примере зовется автоматом при привязке грида к источнику, т.е. при присвоении св-ву RecordSource значения (ассайн метод) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
критика 1. возвращать из ХП с метаданными нужно всеже курсор, а не строку с разделителями 2. сам класс-грид должен быть со своими колонками и хедерами и т.д ..., а не так как у Вас - голым голо. 3. .... что делать: 1. в какой-то формочке сейчас обойти этот шаманский код и позвать какой-то врем-й присвоитель в который явно заслать грид и ему руками присвоить все без удаления и подсовывания своих контролов (нужно понять, что портит гриды), т.е. вначале найдите тот мех-м, который у Вас "хромает". 2. также данные натянуть в методе лоад ф-мы (т.е. изменить механизмы и посмотреть что будет твориться) если это так, то немного накрутить ваш библ-й класс - дать ему своих колонок и хедеров, что упростит далее разр-ку, немного упростить и перекрутить настройку гридов из описателей настроек (метаданных) посмотрите, у меня видимость грида не дергается и устан-ся видимость контролов в колонках явно при добавлении, не помню, но ????? может влияет на взлет и настройку. также обратите внимание на то, что прим-е курсорадаптеров облегчает разр-ку в плане того, что не нужно затем танцевать над отвязкой дан.от грида и перенастройке при обновлении данных - рефреше курсорадаптера (в Вашем случае - Вы вынуждены дергать заново инит формы, что явл-ся надруг-вом над собой и фокспро). еще раз иными словами: 1. играемся с моим примером. 2. убеждаемся - нет глюков. 3. задаемся вопросом: значит у меня что-то криво. 4. начинаем "рыть" и править свой код. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2010, 16:00 |
|
Рвется База :)
|
|||
---|---|---|---|
#18+
Добрый вечер. Начала по вашим примерам и примеру отсюда http://kodu.neti.ee/~juri4/vfp60/ca_03_ru.htm пробовать работать с cursoradapter. В связи с чем возник вопрос: как в CA получить результат работы процедуры? все тем же родным SQLEXEС - ом? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2010, 19:30 |
|
Рвется База :)
|
|||
---|---|---|---|
#18+
НадеждаМДобрый вечер. Начала по вашим примерам и примеру отсюда http://kodu.neti.ee/~juri4/vfp60/ca_03_ru.htm пробовать работать с cursoradapter. В связи с чем возник вопрос: как в CA получить результат работы процедуры? все тем же родным SQLEXEС - ом? Зависит от того, что именно возвращает эта процедура и для чего она нужна. Можно ведь в свойстве CursorAdapter.SelectCmd вместо команды Select-SQL написать вызов процедуры. Ну, примерно так Код: plaintext
Если процедура MyProc возвращает некую выборку, то результат этой выборки будет отображен как курсор в CursorAdapter. Хотя, разумеется, если рассматривать некий "общий случай" (сферического коня в вакууме), то, разумеется, придется использовать SQLExec(). CursorAdapter, прежде всего, создавался как "обертка" над командой Select-SQL. Все вокруг этого и крутится. Ну, по простому: сделали выборку записей, изменили записи, сбросили изменений обратно. Если Вам требуется нечто, отличное Select-SQL, то следует подумать, а нужен ли Вам CursorAdapter? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2010, 20:33 |
|
Рвется База :)
|
|||
---|---|---|---|
#18+
[quot ВладимирМ Зависит от того, что именно возвращает эта процедура и для чего она нужна. Можно ведь в свойстве CursorAdapter.SelectCmd вместо команды Select-SQL написать вызов процедуры. Ну, примерно так Код: plaintext
Если процедура MyProc возвращает некую выборку, то результат этой выборки будет отображен как курсор в CursorAdapter. Хотя, разумеется, если рассматривать некий "общий случай" (сферического коня в вакууме), то, разумеется, придется использовать SQLExec(). CursorAdapter, прежде всего, создавался как "обертка" над командой Select-SQL. Все вокруг этого и крутится. Ну, по простому: сделали выборку записей, изменили записи, сбросили изменений обратно. Если Вам требуется нечто, отличное Select-SQL, то следует подумать, а нужен ли Вам CursorAdapter?[/quot] Процедура "MyProc" - хранимая процедура MSSQL SERVER 2005. Она именно возвращает некую выборку. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2010, 21:17 |
|
Рвется База :)
|
|||
---|---|---|---|
#18+
ВладимирМ Хотя, разумеется, если рассматривать некий "общий случай" (сферического коня в вакууме), то, разумеется, придется использовать SQLExec(). CursorAdapter, прежде всего, создавался как "обертка" над командой Select-SQL. Все вокруг этого и крутится. Ну, по простому: сделали выборку записей, изменили записи, сбросили изменений обратно. Если Вам требуется нечто, отличное Select-SQL, то следует подумать, а нужен ли Вам CursorAdapter? Владимир, чего сказать то пытались? Рассуждение о бренности бытия и о конях в вакууме? Когда-же Вы приоритеты измените в сторону абстрактных приемов, скорости разработки и сопровождения, стаб-ти работы прилож-й на фокспро? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2010, 12:14 |
|
Рвется База :)
|
|||
---|---|---|---|
#18+
прошелмимоВладимирМ Хотя, разумеется, если рассматривать некий "общий случай" (сферического коня в вакууме), то, разумеется, придется использовать SQLExec(). CursorAdapter, прежде всего, создавался как "обертка" над командой Select-SQL. Все вокруг этого и крутится. Ну, по простому: сделали выборку записей, изменили записи, сбросили изменений обратно. Если Вам требуется нечто, отличное Select-SQL, то следует подумать, а нужен ли Вам CursorAdapter? Владимир, чего сказать то пытались? Рассуждение о бренности бытия и о конях в вакууме? Когда-же Вы приоритеты измените в сторону абстрактных приемов, скорости разработки и сопровождения, стаб-ти работы прилож-й на фокспро? Так как только появятся абстрактные задачи не привязанные ни к каким конкретным условиям, так сразу... Когда же Вы поймете, что не существует "абстрактных приемов"? Все приемы очень даже "конкретные". Есть куча сопутствующих требований, которые просто необходимо выполнить. А ради неких "абстрактных приемов" переписывать готовое приложение с нуля никто и никогда не будет. Вот я и спрашиваю в последнем топике об этих "сопутствующих требованиях". Точнее, зачем вообще на клиенте нужнен результат работы хранимой процедуры? Что с этим результатом предполагается делать? А далее уже можно советовать, подойдет для этих задач CursorAdapter или нет. Стоит ли тянуть весь "паровоз" "абстрактных приемов" ради данной конкретной задачи? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2010, 15:12 |
|
Рвется База :)
|
|||
---|---|---|---|
#18+
да уж. а если не будет вопрошающий переписывать? а елси он изучает новые приемы? Когда же Вы поймете, что не существует абстрактные классы, приемы ООП, которые позволяют сократить трудозатраты и сопровождение продуктов. Зачем Вы начали беседу про SQLExec()? Вас спросили как получить обновляемый курсорадаптер в селекткмд которого вызов ХП, в ответ - вновь куча рассуждений. Зачем, я Вас спрашиваю, - в ответ "понос". Затем тянуть, что это облегчает разработку. авторТочнее, зачем вообще на клиенте нужнен результат работы хранимой процедуры? Что с этим результатом предполагается делать? Вам уже ответили - это выборка. автор А далее уже можно советовать, подойдет для этих задач CursorAdapter или нет. а почему он не подойдет для ХП, которая вернет выборку с данными? Вы и не задавались задачей выяснять, что за выборка, а лили вновь "понос" про обертки и т.д., немного иногда разбавляйте тем, что это абстрактный класс, который облегчает разработку. Как и конкретными примерами я уже "разбавлю". не нужно рассказывать про сфер.коней, рассказывать о необъятном исп-и ХП, что ХП может возвращать коней и нести бред. можно вопрошавшему дать конкретный пример, где в селекткмд будет вызов ХП, а далее уже он сам задаст вопрос, что я типа не выборку возвращаю, а ..., или там 10 курсоров. исп-е курсорадаптера предполагает некоторые принципы и способы написания ХП, вот про это и нужно было намекнуть. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2010, 15:49 |
|
Рвется База :)
|
|||
---|---|---|---|
#18+
Вот всегда так. Полная каша в изложении своих мыслей и полнейшее игнорорование того, о чем вообще идет разговор. Реакция на отдельные слова, а не на смысл этих слов. Поэтому напомню, с чего все началось. НадеждаМ : как в CA получить результат работы процедуры? ВладимирМ : CursorAdapter.SelectCmd = "Execute MyProc". Но в общем случае SQLExec() прошелмимо : Когда-же Вы приоритеты измените в сторону абстрактных приемов ??? ВладимирМ : Какие инструменты использовать, зависит от решаемой задачи прошелмимо : Зачем Вы начали беседу про SQLExec()? ??? Не замечаете странностей в подобной дискуссии? Дальше еще веселее ВладимирМ : Зависит от того, что именно возвращает эта процедура и для чего она нужна НадеждаМ : Процедура ... возвращает некую выборку ВладимирМ : Что с этой выборкой предполагается делать на клиенте? прошелмимо : Вы и не задавались задачей выяснять, что за выборка, а лили вновь "понос" про обертки и т.д., ??? Хорошо, уточним про "обертку" ВладимирМ : CursorAdapter, прежде всего, создавался как "обертка" над командой Select-SQL. Все вокруг этого и крутится. Ну, по простому: сделали выборку записей, изменили записи, сбросили изменений обратно. Если Вам требуется нечто, отличное Select-SQL, то следует подумать, а нужен ли Вам CursorAdapter? прошелмимо :исп-е курсорадаптера предполагает некоторые принципы и способы написания ХП, вот про это и нужно было намекнуть Обратите внимание, что, в отличие от Вас, я говорю вовсе не о "принципах написания", а о "принципах использования". О целях, а не о средствах их достижения. Если то, что я написал, расходится с Вашим пониманием, того, для чего предназначен CursorAdapter, то где Ваше определение? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2010, 18:19 |
|
Рвется База :)
|
|||
---|---|---|---|
#18+
ВладимирМ Если то, что я написал, расходится с Вашим пониманием, того, для чего предназначен CursorAdapter, то где Ваше определение? Да. Вам лучше молчать - уже все написано про "обертки". кроме "обертка" Вы сообщить ничего не можете. примеров использования не создали. создайте примеры и научите разработчиков использовать. просто писать кучу слов не нужно - уже все написано. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2010, 18:29 |
|
Рвется База :)
|
|||
---|---|---|---|
#18+
Значит, для чего предназначен CursorAdapter Вы не знаете? Не то, что он делает, а для чего его следует использовать? Жаль... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2010, 18:50 |
|
Рвется База :)
|
|||
---|---|---|---|
#18+
Как удалить запись через CA? Как применить вот эти свойства? CursorAdapter.DeleteCmd [ = cCommand ] CursorAdapter.DeleteCmdDataSourceType [= cDataSourceType] CursorAdapter.DeleteCmdDataSource [ = cDataSource] ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2010, 20:45 |
|
Рвется База :)
|
|||
---|---|---|---|
#18+
НадеждаМКак удалить запись через CA? Как применить вот эти свойства? CursorAdapter.DeleteCmd [ = cCommand ] CursorAdapter.DeleteCmdDataSourceType [= cDataSourceType] CursorAdapter.DeleteCmdDataSource [ = cDataSource] Вам не нужно применять эти команды. Вам нужно получить с пом ХП с ключами курсор, правильно настроить св-ва курсорадаптера. Далее такой курсор буде обновляемым, т.е изм-я из него будут автоматич-ки сохр-ся на сервер (генериться команды обновл-я, удаления, добавл-я записей) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2010, 21:01 |
|
Рвется База :)
|
|||
---|---|---|---|
#18+
ВладимирМЗначит, для чего предназначен CursorAdapter Вы не знаете? Не то, что он делает, а для чего его следует использовать? Жаль... старый, упертый глупец - главный вредитель. убейся о стол, негодяй. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2010, 21:02 |
|
Рвется База :)
|
|||
---|---|---|---|
#18+
НадеждаМКак удалить запись через CA? Как применить вот эти свойства? CursorAdapter.DeleteCmd [ = cCommand ] CursorAdapter.DeleteCmdDataSourceType [= cDataSourceType] CursorAdapter.DeleteCmdDataSource [ = cDataSource] завтра буд рисовать пример. Вам показать курсорадаптер с селекткмд = "exec .... @cTT=..." ? постановка задачи: ХП будет возвращать 1 курсор и кад будет настроен таким образом, что при изм-и данных на клиенте будут авт-ки произв-ся соотв-е изм-я в таблице на сервере, сервер используем ms sql 2005. ? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2010, 21:12 |
|
Рвется База :)
|
|||
---|---|---|---|
#18+
прошелмимо завтра буд рисовать пример. Вам показать курсорадаптер с селекткмд = "exec .... @cTT=..." ? постановка задачи: ХП будет возвращать 1 курсор и кад будет настроен таким образом, что при изм-и данных на клиенте будут авт-ки произв-ся соотв-е изм-я в таблице на сервере, сервер используем ms sql 2005. ? Да, с примерчиком можно, а то пытаюсь тут что-то сообразить, но криво работает че-то. Да постановка задачи именно такая. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2010, 21:25 |
|
Рвется База :)
|
|||
---|---|---|---|
#18+
НадеждаМпрошелмимо завтра буд рисовать пример. Вам показать курсорадаптер с селекткмд = "exec .... @cTT=..." ? постановка задачи: ХП будет возвращать 1 курсор и кад будет настроен таким образом, что при изм-и данных на клиенте будут авт-ки произв-ся соотв-е изм-я в таблице на сервере, сервер используем ms sql 2005. ? Да, с примерчиком можно, а то пытаюсь тут что-то сообразить, но криво работает че-то. Да постановка задачи именно такая. ок, ждите - завтра на коленке нарисую ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2010, 21:27 |
|
Рвется База :)
|
|||
---|---|---|---|
#18+
подобный пример (есть список док-в - ): там обсуждении ссылка на бд: http://sql.ru/forum/actualthread.aspx?tid=784178&hl=ms+sql+2005 клиент.часть: http://sql.ru/forum/actualfile.aspx?id=9327206 смотрите настройки курсорадаптера documents selectcmd = exec selectDocums @dBeginDate = ?this.DateBegin, @dEndDate = ?this.DateEnd и т.д код удаления Вы увидите в кнопке удалить на списочной класс-форме (это не повторять - там все руками, в реальной разр-ке так не поступают - работают универсальные классы). ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2010, 21:44 |
|
|
start [/forum/topic.php?fid=41&msg=36834281&tid=1583829]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
33ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 130ms |
0 / 0 |