|
Как побороться с LSet при переводе VB6 кода в .NET?
|
|||
---|---|---|---|
#18+
VB6: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
.NET: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
Ну и дальше: VB6: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
.NET : Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
Надо нарисовать градиент по 4 цветам в углах прямоугольника. Как это сделать через .NET я не знаю, похоже .Net только линейные градиенты делать умеет. Максимум чего нашел, Пошаговое руководство. Отображение градиентной заливки Но это "Compact Framework". ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2013, 15:58 |
|
Как побороться с LSet при переводе VB6 кода в .NET?
|
|||
---|---|---|---|
#18+
CopyMemory? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2013, 16:11 |
|
Как побороться с LSet при переводе VB6 кода в .NET?
|
|||
---|---|---|---|
#18+
AntonariyCopyMemory? Как конкретно? Тогда м.б. Marshal какой нибудь? Но опять же без примера кода не съем. P.S. Не намного в .Net проще как видишь. PP.S Antonariy, Мыло от меня получил? Если да то ответь. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2013, 16:23 |
|
Как побороться с LSet при переводе VB6 кода в .NET?
|
|||
---|---|---|---|
#18+
Дмитрий77, например вот так: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
Это кстати позволит тебе не только "разобрать" цвет на части, но и "собрать" его: Код: vbnet 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2013, 16:32 |
|
Как побороться с LSet при переводе VB6 кода в .NET?
|
|||
---|---|---|---|
#18+
Дмитрий77AntonariyCopyMemory? Как конкретно?Да точно так же, как ты недавно делал с SendMessage. Раз не работает Any, объявить CopyMemory с типами Source и Destination в виде TLongX1, TIntegerX2 и TRGBAQuad. А длина у них одна — 4. Дмитрий77PP.S Antonariy, Мыло от меня получил? Если да то ответь.Куда отправлял? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2013, 18:28 |
|
Как побороться с LSet при переводе VB6 кода в .NET?
|
|||
---|---|---|---|
#18+
AntonariyДмитрий77PP.S Antonariy, Мыло от меня получил? Если да то ответь.Куда отправлял? На адрес указанный в твоем профиле. Со второй попытки вроде не отспамилось. Ну либо кинь свое нормальное мыло на мой адрес - я открыл его не надолго. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2013, 18:48 |
|
Как побороться с LSet при переводе VB6 кода в .NET?
|
|||
---|---|---|---|
#18+
AntonariyДа точно так же, как ты недавно делал с SendMessage. Раз не работает Any, объявить CopyMemory с типами Source и Destination в виде TLongX1, TIntegerX2 и TRGBAQuad. А длина у них одна — 4. Пожалуй ты прав. Вот так все получилось: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8.
Надо бы еще как bazile предложил попробовать, год назад когда возился с оберткой над Opal, видел код C# где по этому методу с Union-структурами разбирались. И все-таки, как бороться со struct/union ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2013, 01:19 |
|
Как побороться с LSet при переводе VB6 кода в .NET?
|
|||
---|---|---|---|
#18+
bazileДмитрий77, например вот так: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8.
Все, я понял идею. Структура - набор байтов, длина в байтах фиксирована, при объявлении члена указывается отступ FieldOffset и длина, то бишь Integer - 4 байта, Byte - 1 байт и т.д. Задал Int32 и автоматом имеем 2 Int16 либо 4 Byte , типа смотрим на одно и то же под разными прицелами. Union короче , вспомнил. Круто, спасибо. Так это будет: Код: vbnet 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.
Все работает. От CopyMemory избавились. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2013, 03:16 |
|
Как побороться с LSet при переводе VB6 кода в .NET?
|
|||
---|---|---|---|
#18+
Дмитрий77, в данном случае можно еще использовать структуру Color: Код: vbnet 1. 2. 3.
Здесь только порядок цветов другой и нельзя менять отдельные компоненты цвета. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2013, 12:09 |
|
Как побороться с LSet при переводе VB6 кода в .NET?
|
|||
---|---|---|---|
#18+
bazileДмитрий77, в данном случае можно еще использовать структуру Color: Код: vbnet 1. 2. 3.
Здесь только порядок цветов другой и нельзя менять отдельные компоненты цвета. Я тебя понял, но в данном случае: Код: vbnet 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. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242.
цвета уже забиты в лонгах Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
а их определить - сама по себе большая проведенная когда-то работа, поэтому смысла не вижу. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2013, 17:47 |
|
|
start [/forum/topic.php?fid=20&msg=38399254&tid=1404017]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
59ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 175ms |
0 / 0 |