|
|
|
Шаблон класса для работы с потоком (WThread, Thread)
|
|||
|---|---|---|---|
|
#18+
Dimonka, подробнее пожалуйста ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2015, 17:27 |
|
||
|
Шаблон класса для работы с потоком (WThread, Thread)
|
|||
|---|---|---|---|
|
#18+
Максим УлитинDimonka, подробнее пожалуйста Локальные строки как и другие динамические массивы уничтожаются при выходе из процедуры. Если строка тебе нужна в потоке, то необходимо сделать копию строки для потока. Просто полистай эту тему - все ответы здесь уже есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2015, 18:46 |
|
||
|
Шаблон класса для работы с потоком (WThread, Thread)
|
|||
|---|---|---|---|
|
#18+
Dimonka, ну будем считать что мне везло столько лет. Думаю да, Вы правы, но работало ведь Я думаю сделать так: - вернуть свой класс в то состояние, которое было до прихода уволенного сотрудника (жаль что его тогда принял ,к сожалению. до сих пор косяки всплывают). - сделать так, чтобы везде, где есть фастрепорт, запускалась отдельная процедура для вывода инфы (на экран или там в PDF) думаю после этого глюки пропадут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2015, 19:00 |
|
||
|
Шаблон класса для работы с потоком (WThread, Thread)
|
|||
|---|---|---|---|
|
#18+
Максим Улитин- сделать так, чтобы везде, где есть фастрепорт, запускалась отдельная процедура для вывода инфы (на экран или там в PDF) Если исходники фастрепорта есть, то ищи во всех местах вызов Application.ProcessMessages и делай перед этим проверки на опцию многопоточности. Кажется таких мест 5-6. И станет он белым и пушистым. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2015, 09:09 |
|
||
|
Шаблон класса для работы с потоком (WThread, Thread)
|
|||
|---|---|---|---|
|
#18+
wadman, спасибо, так и сделаю. А так вчера почистил код в том модуле и избавился от мусора. И потом понял где проблема, это му.... нехороший человек таймер не прибивал. то есть он вроде написал, чтобы таймер прибивался, но сообщение о прибивании таймера забывал посылать. в итоге написал тестовое приложение с бесконечным циклом на создание массива на 10 лямов рандом значений и сортировку через этот мой класс и оставил на ночь. Ни разу exception не сработал. так что теперь в думах - вернуть что раньше писал или оставить что есть сейчас. как бы и тогда работало надежно, и сейчас работает по первым прикидкам вроде надежно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.01.2015, 10:43 |
|
||
|
Шаблон класса для работы с потоком (WThread, Thread)
|
|||
|---|---|---|---|
|
#18+
wadman, Если заюзать юнит в сервисе, обработка сообщений между приложениями работать будет? Спрашиваю т.к. у сервиса нет окна, и я не очень понимаю как сервисы между собой общаются... Возможен ли обмен между 2-мя и более сервисами через этот юнит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2015, 11:52 |
|
||
|
Шаблон класса для работы с потоком (WThread, Thread)
|
|||
|---|---|---|---|
|
#18+
Поток в службе..., в службе работает без проблем, между службами не пробовал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2015, 19:37 |
|
||
|
Шаблон класса для работы с потоком (WThread, Thread)
|
|||
|---|---|---|---|
|
#18+
* Убрал утечки памяти, которые были под fpc. + Добавил буфер для отправки сообщений до того, как будет готова очередь + Добавил поддержку *nix для fpc Код: pascal 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. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. 255. 256. 257. 258. 259. 260. 261. 262. 263. 264. 265. 266. 267. 268. 269. 270. 271. 272. 273. 274. 275. 276. 277. 278. 279. 280. 281. 282. 283. 284. 285. 286. 287. 288. 289. 290. 291. 292. 293. 294. 295. 296. 297. 298. 299. 300. 301. 302. 303. 304. 305. 306. 307. 308. 309. 310. 311. 312. 313. 314. 315. 316. 317. 318. 319. 320. 321. 322. 323. 324. 325. 326. 327. 328. 329. 330. 331. 332. 333. 334. 335. 336. 337. 338. 339. 340. 341. 342. 343. 344. 345. 346. 347. 348. 349. 350. 351. 352. 353. 354. 355. 356. 357. 358. 359. 360. 361. 362. 363. 364. 365. 366. 367. 368. 369. 370. 371. 372. 373. 374. 375. 376. 377. 378. 379. 380. 381. 382. 383. 384. 385. 386. 387. 388. 389. 390. 391. 392. 393. 394. 395. 396. 397. 398. 399. 400. 401. 402. 403. 404. 405. 406. 407. 408. 409. 410. 411. 412. 413. 414. 415. 416. 417. 418. 419. 420. 421. 422. 423. 424. 425. 426. 427. 428. 429. 430. 431. 432. 433. 434. 435. 436. 437. 438. 439. 440. 441. 442. 443. 444. 445. 446. 447. 448. 449. 450. 451. 452. 453. 454. 455. 456. 457. 458. 459. 460. 461. 462. 463. 464. 465. 466. 467. 468. 469. 470. 471. 472. 473. 474. 475. 476. 477. 478. 479. 480. 481. 482. 483. 484. 485. 486. 487. 488. 489. 490. 491. 492. 493. 494. 495. 496. 497. 498. 499. 500. 501. 502. 503. 504. 505. 506. 507. 508. 509. 510. 511. 512. 513. 514. 515. 516. 517. 518. 519. 520. 521. 522. 523. 524. 525. 526. 527. 528. 529. 530. 531. 532. 533. 534. 535. 536. 537. 538. 539. 540. 541. 542. 543. 544. 545. 546. 547. 548. 549. 550. 551. 552. 553. 554. 555. 556. 557. 558. 559. 560. 561. 562. 563. 564. 565. 566. 567. 568. 569. 570. 571. 572. 573. 574. 575. 576. 577. 578. 579. 580. 581. 582. 583. 584. 585. 586. 587. 588. 589. 590. 591. 592. 593. 594. 595. 596. 597. 598. 599. 600. 601. 602. 603. 604. 605. 606. 607. 608. 609. 610. 611. 612. 613. 614. 615. 616. 617. 618. 619. 620. 621. 622. 623. 624. 625. 626. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 08:56 |
|
||
|
Шаблон класса для работы с потоком (WThread, Thread)
|
|||
|---|---|---|---|
|
#18+
wadman, я бы заменил Код: pascal 1. 2. 3. 4. на Код: pascal 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2015, 12:13 |
|
||
|
Шаблон класса для работы с потоком (WThread, Thread)
|
|||
|---|---|---|---|
|
#18+
Aleksandr Sharahov, я этим совсем не пользуюсь. На что это влияет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2015, 12:14 |
|
||
|
Шаблон класса для работы с потоком (WThread, Thread)
|
|||
|---|---|---|---|
|
#18+
wadman, на утечку, разумеется ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2015, 12:25 |
|
||
|
Шаблон класса для работы с потоком (WThread, Thread)
|
|||
|---|---|---|---|
|
#18+
Aleksandr Sharahovна утечку, разумеется Раз назвался груздемзнатоком... Поясни, сколько такая строка может прожить? К примеру, если идет долгая обработка одной команды, а в очереди несколько минут висит следующая с такой строкой - какие гарантии, что не затрется? П.С. Спасибо, учту. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2015, 12:44 |
|
||
|
Шаблон класса для работы с потоком (WThread, Thread)
|
|||
|---|---|---|---|
|
#18+
wadman, видимо, тебе намекают, что Result на входе вовсе не обязан быть пустой строкой, и своим хаком ты похеришь старое значение без отработки счетчика ссылок ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2015, 12:47 |
|
||
|
Шаблон класса для работы с потоком (WThread, Thread)
|
|||
|---|---|---|---|
|
#18+
fd00chчто Result на входе вовсе не обязан быть пустой строкой Это новость для меня... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2015, 12:50 |
|
||
|
Шаблон класса для работы с потоком (WThread, Thread)
|
|||
|---|---|---|---|
|
#18+
wadman, Не совсем понял, о какой "такой" строке ты спрашиваешь. Если речь об утечке, то там все просто. Строка, которая используется твоей функцией в качестве результата, приходит в нее из вызывающей процедуры и вовсе не обязана быть пустой. Поэтому ее необходимо финализировать, прежде чем жестко менять адрес данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2015, 12:53 |
|
||
|
Шаблон класса для работы с потоком (WThread, Thread)
|
|||
|---|---|---|---|
|
#18+
Aleksandr SharahovНе совсем понял, о какой "такой" строке ты спрашиваешь. О такой, которую получили функцией NewString (FreeString обратная ей). Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Aleksandr SharahovСтрока, которая используется твоей функцией в качестве результата, приходит в нее из вызывающей процедуры и вовсе не обязана быть пустой. Торможу чего-то... Как результат этой функции приходит из вызывающей её процедуры? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2015, 12:59 |
|
||
|
Шаблон класса для работы с потоком (WThread, Thread)
|
|||
|---|---|---|---|
|
#18+
примерно таким: Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2015, 13:04 |
|
||
|
Шаблон класса для работы с потоком (WThread, Thread)
|
|||
|---|---|---|---|
|
#18+
fd00chпримерно таким: Код: pascal 1. Ты мне шаблон поломал... Давно догадывался, но не хотелось верить и копаться там. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2015, 13:06 |
|
||
|
Шаблон класса для работы с потоком (WThread, Thread)
|
|||
|---|---|---|---|
|
#18+
Точно не шутите, что результат может быть определен на входе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2015, 13:07 |
|
||
|
Шаблон класса для работы с потоком (WThread, Thread)
|
|||
|---|---|---|---|
|
#18+
wadmanО такой, которую получили функцией NewString (FreeString обратная ей). А если об этой, то будет жить, пока живо сообщение. wadmanТочно не шутите, что результат может быть определен на входе? А сегодня первое? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2015, 13:18 |
|
||
|
Шаблон класса для работы с потоком (WThread, Thread)
|
|||
|---|---|---|---|
|
#18+
wadmanТочно не шутите, что результат может быть определен на входе? http://docwiki.embarcadero.com/RADStudio/XE7/en/Program_Control The following conventions are used for returning function result values. For a string, dynamic array, method pointer, or variant result, the effects are the same as if the function result were declared as an additional var parameter following the declared parameters. In other words, the caller passes an additional 32-bit pointer that points to a variable in which to return the function result. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2015, 13:21 |
|
||
|
Шаблон класса для работы с потоком (WThread, Thread)
|
|||
|---|---|---|---|
|
#18+
Aleksandr SharahovА сегодня первое? Не все ограничиваются только первым числом. Aleksandr SharahovА если об этой, то будет жить, пока живо сообщение. Нужно будет погонять на сотне-другой потоков. Помнится, этот механизм валился на больших количествах передаваемых строк между потоками. Может как раз из-за этой "мелочи"... fd00ch, спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2015, 13:29 |
|
||
|
Шаблон класса для работы с потоком (WThread, Thread)
|
|||
|---|---|---|---|
|
#18+
wadman, тоже кстати пытался что-то подобное делать у вас я смотрю по теме большой опыт немного с другой стороны подошёл (связь односторонняя и полностью стандартными библами fpc) Код: pascal 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. ну и очередь для этого простая Код: pascal 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. используется в потоке Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2015, 20:02 |
|
||
|
Шаблон класса для работы с потоком (WThread, Thread)
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan)(связь односторонняя и полностью стандартными библами fpc) У меня двусторонняя и тоже полностью стандартными. :) Особо в код не вникал... Есть какие-то преимущества? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2015, 08:52 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=38936300&tid=2039179]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
59ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
82ms |
get tp. blocked users: |
2ms |
| others: | 227ms |
| total: | 417ms |

| 0 / 0 |
