|
|
|
Создание представлений в SDI документе
|
|||
|---|---|---|---|
|
#18+
Еще раз здрачтвуйте :rolleyes: Создаю в классе CProjDoc переменные класса CMultiDocTemplate: Код: plaintext Код: plaintext Код: plaintext 1. В конструкторе добавляю шаблон: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Вызываю функцию обработкой на нажатие меню: void CProjDoc::OnMZakazView() Код: plaintext 1. 2. 3. 4. Создаю диалог, в свойствах ставлю стиль Child, border - none, при нажатии на соответствующий пункт меню получаю критическую ошибку: --------------------------- Безымянный - RozOffice: RozOffice.exe - Ошибка приложения --------------------------- Инструкция по адресу "0x5f46445d" обратилась к памяти по адресу "0x0000009c". Память не может быть "read". "ОК" -- завершение приложения "Отмена" -- отладка приложения --------------------------- ОК Отмена --------------------------- Где я мог ошибиться? Если добавляю диалог при помощи мастера new form, то все работает, но появляется крайне не желательный побочный ефффект: при запуске программы дает возможность выбрать какую форму запустить. А на нажатие меню реагирует с ошибкой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2007, 23:48 |
|
||
|
Создание представлений в SDI документе
|
|||
|---|---|---|---|
|
#18+
Jevgeniy пишет: > Создаю в классе CProjDoc переменные класса CMultiDocTemplate: > > CMultiDocTemplate *m_pZakazViewTemplate; В приложении он должен быть, в приложении. Если его поместить в документ, то как DocTemplate сможет его создать ? Ответ - никак. DocTemplate должен быть в приложении. Обычно он там мембером, хотя это не обязательно, главное его создать в InitInstance и зарегистрировать. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2007, 00:00 |
|
||
|
Создание представлений в SDI документе
|
|||
|---|---|---|---|
|
#18+
Jevgeniy пишет: > CProjDoc::CProjDoc() > { > // TODO: add one-time construction code here > CWinApp *pApp = AfxGetApp(); > ASSERT(pApp); Приложение в документе ? Это орригинально ! Как документ-то будешь создавать ? > Где я мог ошибиться? Надо не выдумывать свою структуру приложения, а следовать стандартной, если не очень пока ориентируешся в MFC. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2007, 10:21 |
|
||
|
Создание представлений в SDI документе
|
|||
|---|---|---|---|
|
#18+
Ну, делал по книжке, товарищь вживую показывал - все работало. Седня попытаюсь узнать у него где что и как, потом напишу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2007, 10:49 |
|
||
|
Создание представлений в SDI документе
|
|||
|---|---|---|---|
|
#18+
Jevgeniy пишет: > Ну, делал по книжке, товарищь вживую показывал - все работало. Седня > попытаюсь узнать у него где что и как, потом напишу. Это в какой такой книжке тебе так сказали делать ? Ф печку ее ! Тачнее ф топку ! Возми scrible sample и сделай как там сделано. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2007, 13:11 |
|
||
|
Создание представлений в SDI документе
|
|||
|---|---|---|---|
|
#18+
> Это в какой такой книжке тебе так сказали делать ? > Ф печку ее ! Тачнее ф топку ! Visual C++ .net Получилось, все правильео в коде, просто когда создавался диалог, нужно сначала определить для него все свойства, а потом уже создавать класс. Метод очень неудачный и неудобный. > Возми scrible sample и сделай как там сделано. Можно поподробней на этом моменте... )) Что это такое и где его взять? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2007, 09:45 |
|
||
|
Создание представлений в SDI документе
|
|||
|---|---|---|---|
|
#18+
Jevgeniy пишет: > Visual C++ .net > > Получилось, все правильео в коде, просто когда создавался диалог, нужно > сначала определить для него все свойства, а потом уже создавать класс. > Метод очень неудачный и неудобный. Еще раз. У тебя было все В КОНРНЕ неправильно. > Можно поподробней на этом моменте... )) Что это такое и где его взять? Это - стандартный тюториал по работе с DOC/View структурой. Он есть в поставке VC, наверное его также можно найти на сайте MS. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2007, 14:38 |
|
||
|
Создание представлений в SDI документе
|
|||
|---|---|---|---|
|
#18+
Еще раз большое спасибо :). И еще 1 вопрос: Подскажите плз, нужно вывести результат запроса (SELECT......) в грид. Грид лежит на форме созданой на базе класса CDialog. Отсюда: 1. Где, в какой функции, лучше всего задавать параметры грида (устанавливать столбцы, строки, указывадь что где будет храниться)? 2. Каким образом открыть не всю таблицу, а только избраные SELECT'ом Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2007, 17:33 |
|
||
|
Создание представлений в SDI документе
|
|||
|---|---|---|---|
|
#18+
Jevgeniy пишет: > 1. Где, в какой функции, лучше всего задавать параметры грида > (устанавливать столбцы, строки, указывадь что где будет храниться)? OnInitDialog > 2. Каким образом открыть не всю таблицу, а только избраные SELECT'ом Написать вместо SELECT * FROM XXX другой запрос. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2007, 18:03 |
|
||
|
Создание представлений в SDI документе
|
|||
|---|---|---|---|
|
#18+
> Написать вместо SELECT * FROM XXX другой запрос. Это я понимаю, а вот как это делается на практике. Я использую MSFlexGrid? вот код в OnInitDialog(): Код: 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. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. Когда нажимаю на кнопку открытия диалога получаю критическую ошибку: --------------------------- Безымянный - RozOffice: RozOffice.exe - Ошибка приложения --------------------------- Инструкция по адресу "0x5f703ebf" обратилась к памяти по адресу "0x00000004". Память не может быть "read". "ОК" -- завершение приложения "Отмена" -- отладка приложения --------------------------- ОК Отмена --------------------------- Причем ошибка получается из-за строки: Код: plaintext переменную передавал таким образом: в классвизарде на вкладке classinfo в графе foreign class выбрал класс CZakazSet и в поле variable вписал переменную m_pSet. В конструктор формы добавлил такой код, в итоге конструктор формы выглядит так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Подскажите, я подозреваю что это из-за того что как-то неправильно передал переменную m_pSet, что делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2007, 19:46 |
|
||
|
Создание представлений в SDI документе
|
|||
|---|---|---|---|
|
#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. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. При вызове диалога выдает сообщение: --------------------------- RozOffice --------------------------- Invalid Row Value --------------------------- ОК --------------------------- и открывает сам диалог с гридом, но без записей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2007, 20:25 |
|
||
|
Создание представлений в SDI документе
|
|||
|---|---|---|---|
|
#18+
Стало ясно что ошибка здесь: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2007, 20:29 |
|
||
|
Создание представлений в SDI документе
|
|||
|---|---|---|---|
|
#18+
Jevgeniy пишет: > Это я понимаю, а вот как это делается на практике. Я использую > MSFlexGrid? вот код в OnInitDialog(): > // m_pSet->MoveFirst(); Это должно происходить до получения m_pSet, я так понимаю. > Подскажите, я подозреваю что это из-за того что как-то неправильно > передал переменную m_pSet, что делать? Ты ее неправильно получил, для начала. Не тем запросом. А если про ошибку защиты памяти - я не знаю как там ты что куда передаешь, ты уж сам разбирайся, это не сложно. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2007, 21:10 |
|
||
|
Создание представлений в SDI документе
|
|||
|---|---|---|---|
|
#18+
Jevgeniy пишет: > Если ввожу вручную количество записей - то все ок, но ведь записи будут > добавляться... Если они будут добавляться, ты будешь перезаписывать весь набор данных в грид заново, так ведь ? И этот код повторится и установит нужное кол-во строк. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2007, 21:12 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=34524803&tid=2028865]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
190ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 225ms |
| total: | 509ms |

| 0 / 0 |
