Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Запись значения в TextBox формы из другого файла проекта
|
|||
|---|---|---|---|
|
#18+
Имеется проект на Visual C++/CLI. В проекте есть форма (файлы MyForm.h и MyForm.cpp). На форме расположено текстовое поле textBox1. Также в проекте есть ещё два файла: globals.h и globals.cpp. В файле globals.cpp есть процедура textOut(char* s), которая выводит MessageBox с текстом из входного параметра. Функция textOut вызывается при загрузке формы. Требуется изменить функцию textOut таким образом, чтобы вместо вывода MessageBox она записывала входной параметр в текстовое поле textBox1 формы MyForm. MyForm.h Код: 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. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. MyForm.cpp Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. globals.h Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. globals.cpp Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. При попытке раскомментировать последнюю строчку, появляется ошибка: "a non static reference must be relative to a specific object". Я так понимаю, нужно каким-то образом передать в функцию указатель на форму MyForm. Подскажите, пожалуйста, как это можно сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2016, 10:38 |
|
||
|
Запись значения в TextBox формы из другого файла проекта
|
|||
|---|---|---|---|
|
#18+
Warlock86 Я так понимаю, нужно каким-то образом передать в функцию указатель на форму MyForm. Подскажите, пожалуйста, как это можно сделать? никак, у тебя же по постановке задачи структура функции фиксирована, так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2016, 11:34 |
|
||
|
Запись значения в TextBox формы из другого файла проекта
|
|||
|---|---|---|---|
|
#18+
Структура функции фиксирована. Но, может быть, можно добавить какую-нибудь глобальную переменную, и в неё уже передавать указатель на форму при старте программы, а потом считать оттуда в globals.cpp? В крайнем случае можно и поменять структуру функции, но когда я пытался изменить её на textOut(char* s,TestForm2::MyForm^ f) и вызывать как textOut("Test, test, test!") возникают ошибки: "'TestForm2' : is not a class or namespace name" и "syntax error : identifier 'MyForm'". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2016, 11:48 |
|
||
|
Запись значения в TextBox формы из другого файла проекта
|
|||
|---|---|---|---|
|
#18+
В предыдущем сообщении опечатка " вызывать как textOut("Test, test, test!",this) ". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2016, 11:49 |
|
||
|
Запись значения в TextBox формы из другого файла проекта
|
|||
|---|---|---|---|
|
#18+
Warlock86Структура функции фиксирована. Но, может быть, можно добавить какую-нибудь глобальную переменную, и в неё уже передавать указатель на форму при старте программы, а потом считать оттуда в globals.cpp? В крайнем случае можно и поменять структуру функции, но когда я пытался изменить её на textOut(char* s,TestForm2::MyForm^ f) и вызывать как textOut("Test, test, test!") возникают ошибки: "'TestForm2' : is not a class or namespace name" и "syntax error : identifier 'MyForm'". Ну, добавь глобальную переменную... В чём проблема ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2016, 17:47 |
|
||
|
Запись значения в TextBox формы из другого файла проекта
|
|||
|---|---|---|---|
|
#18+
Warlock86процедура textOut(char* s)Delphi здесь. Он пришёл в наши края. Мы должны сплотиться. Фильм «300 плюсовиков». Warlock86Но, может быть, можно добавить какую-нибудь глобальную переменную, и в неё уже передавать указатель на форму при старте программы, а потом считать оттуда в globals.cpp?Такая переменная уже есть, только она не глобальная, а static: Warlock86 Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Используем так: Код: plaintext 1. Warlock86В крайнем случае можно и поменять структуру функции, но когда я пытался изменить её на textOut(char* s,TestForm2::MyForm^ f) и вызывать как textOut("Test, test, test!") возникают ошибки: "'TestForm2' : is not a class or namespace name" и "syntax error : identifier 'MyForm'".Потому что надо было писать так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. И кстати параметр функции лучше делать « const char* s», в честь того, что мы не меняем содержимое строки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2016, 02:12 |
|
||
|
|

start [/forum/topic.php?fid=57&tid=2018418]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
68ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 297ms |
| total: | 451ms |

| 0 / 0 |
