|
|
|
По поводу префикса пемеренных m.
|
|||
|---|---|---|---|
|
#18+
Sergey Sizov.Ну как обычно! Вместо того, чтоб работать со ссылкой на объект, работаем с именем объекта. Код: plaintext Это первое и, скажем так, достаточно общее решение. Но у меня есть подозрения, что это всего лишь this.LenLabel Угадал?хорошо, с evaluate я понял, исправлюсь (поди MyLabel нада loMyLabel поименовати?), а че с SET CONFIRM-ом? this.LenLabel - это мсотря кто этот this - еси контейнер, то да. но дальше составное имя - имя контейнера+имя_тект_бокса+_"LenLabel". Ваще еси контейнер - форма Form1, а текстбокс на ём - Textbox1 то получиццо ващето this.parent.Form1Textbox1LenLabel Dima TЕсли к TextBox привязан Label, то надо их собирать в класс-контейнер. Как понимаю у тебя еще есть жесткие правила именования объектов чтобы они правильно меж собой взаимодействовали?А зачем нам контейнер? смысёл строки Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 17:28 |
|
||
|
По поводу префикса пемеренных m.
|
|||
|---|---|---|---|
|
#18+
Ну и какие проблемы? Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 17:32 |
|
||
|
По поводу префикса пемеренных m.
|
|||
|---|---|---|---|
|
#18+
как параметр обзывается??? tlValue tnValue t вначале - лок-й парам-р строка IF VARTYPE(m.llHide) = "U" - не нужна по всему твоему коду m. не нужны release для лок-х перем-х аналогично - мертвому припарка где-то конечно нужно создать св-во-ссылку на объект если уж макроп-ка необходима - то ее делают один раз loObj = .... и дальше ссылаются на loObj в Вашем случае, если уж по имени искать собрались, что как Вам уже сказали в ООП не делают, то обратите вним-е на getpem ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 17:36 |
|
||
|
По поводу префикса пемеренных m.
|
|||
|---|---|---|---|
|
#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. 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. 627. 628. 629. 630. 631. 632. 633. 634. 635. 636. 637. 638. 639. 640. 641. 642. 643. 644. 645. 646. 647. 648. 649. 650. 651. 652. 653. 654. 655. 656. 657. 658. 659. 660. 661. 662. 663. 664. 665. 666. 667. 668. 669. 670. 671. 672. 673. 674. 675. 676. 677. 678. 679. 680. 681. 682. 683. 684. 685. 686. 687. 688. 689. 690. 691. 692. 693. 694. 695. 696. 697. 698. 699. 700. 701. 702. 703. 704. 705. 706. 707. 708. 709. 710. 711. 712. 713. 714. 715. 716. 717. 718. 719. 720. 721. 722. 723. 724. 725. 726. 727. 728. 729. 730. 731. 732. 733. 734. 735. 736. 737. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 17:41 |
|
||
|
По поводу префикса пемеренных m.
|
|||
|---|---|---|---|
|
#18+
Sergey Sizov.Ну как обычно! Вместо того, чтоб работать со ссылкой на объект, работаем с именем объекта. Код: plaintext Это первое и, скажем так, достаточно общее решение. Но у меня есть подозрения, что это всего лишь this.LenLabel Угадал? все же возвращаясь к eval() - не работает или я пока не допер как его применять. чем отличаеся содержимое переменной lcLenLabel, которая = this.Parent.Name + this.Name + "LenLabel" от MyLabel, которая = eval(this.Parent.Name + this.Name + "LenLabel")? в итоге избавился от мп только в случае с SET. 2прошелмимо Что до Вашего примера - слишком многа букаф :) Вы уж извините, но я там нихрена не понял по вопросу... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 18:04 |
|
||
|
По поводу префикса пемеренных m.
|
|||
|---|---|---|---|
|
#18+
я Вам показал как ссылаются объекты друг на друга как писать без макроподстановок Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. осиль то, что я написал а то всю жисть будешь макропадстановки пулить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 18:09 |
|
||
|
По поводу префикса пемеренных m.
|
|||
|---|---|---|---|
|
#18+
автор но я там нихрена не понял по вопросу... обратите внимание на отсутствие макроподстановок, исп-е нотации обратите внимание на стиль и стратегию разр-ки с прим-ем ООП ну и т.д. .... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 18:14 |
|
||
|
По поводу префикса пемеренных m.
|
|||
|---|---|---|---|
|
#18+
чем отличаеся содержимое переменной lcLenLabel, которая = this.Parent.Name + this.Name + "LenLabel" от MyLabel, которая = eval(this.Parent.Name + this.Name + "LenLabel")? Тем, что в первом случае в переменной лежит только имя объекта в виде текста, который фоксу ничего не говорит о самом объекте, он даже не подозревает, что тут что-то связано с объектом. Во втором случае в переменной получается ссылка на объект, точно такая же как при loMyObject = CreateObject('Label') со всеми вытекающими последствиями в виде возможности обращаться к свойствам и методам объекта без необходимости при каждом обращении вычислять ту же самую ссылку на объект. К тому же, макроподстановка сам по себе медленная ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 18:14 |
|
||
|
По поводу префикса пемеренных m.
|
|||
|---|---|---|---|
|
#18+
прошелмимоя Вам показал как ссылаются объекты друг на друга как писать без макроподстановок Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. осиль то, что я написал а то всю жисть будешь макропадстановки пулить ну че, вот loObj = getpem(loCus1, lcObjName) создана ссылка на дочерний объект, который oCus2, это понятно. причем изначально в loCus1 попадает ссылка на объет-родитель. А мне-то че делать, я форму-родителя не создаю методом createobject. Она у меня в дизайнере создана. Я ее через do form запускаю и все. Как получить ссылку на нее в runtime? Ссылка на нее мне нужна вместо loCus1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 18:29 |
|
||
|
По поводу префикса пемеренных m.
|
|||
|---|---|---|---|
|
#18+
Я ее через do form запускаю и все. Как получить ссылку на нее в runtime? Ссылка на нее мне нужна вместо loCus1 Ну а хелп-то хоть иногода читается или как? DO FORM FormName | ? [NAME VarName [LINKED]] [WITH cParameterList] [TO VarName] [NOREAD] [NOSHOW] NAME VarName [LINKED] Specifies a variable or array element with which you can reference the form or form set. If you specify a variable that doesn't exist, Microsoft Visual FoxPro automatically creates it. If you specify an array element, the array must exist before you issue DO FORM. If the variable or array element you specify already exists, its contents are overwritten. If you omit the NAME clause, Visual FoxPro creates an object type variable with the same name as the form or form set file. Include LINKED to link the form to the variable associated with it so that the form is released when the variable goes out of scope. If you don't include LINKED, a form can still be active, even though there is no object variable associated with the form. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 18:33 |
|
||
|
По поводу префикса пемеренных m.
|
|||
|---|---|---|---|
|
#18+
Вдогонку :) Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 18:35 |
|
||
|
По поводу префикса пемеренных m.
|
|||
|---|---|---|---|
|
#18+
ага, значит я в принципе все правильно делал, и в случае с evaluate и с getpem. так у меня одна и та же ошибка в обоих случаях получается - Variable not found т.к. объект еще не создан. Вы мне по моему тексту покажите пож. как это должно выглядеть? вот в точке Код: plaintext 1. 2. Код: plaintext 1. В случае с мп я могу проверить, есь он или нет и в принципе на нарваться на такую ситуацию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 18:36 |
|
||
|
По поводу префикса пемеренных m.
|
|||
|---|---|---|---|
|
#18+
CTAC-KO... А зачем нам контейнер? смысёл строки Код: plaintext Можно и без конейнера. Код: plaintext Код: plaintext 1. 2. 3. 4. Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 18:38 |
|
||
|
По поводу префикса пемеренных m.
|
|||
|---|---|---|---|
|
#18+
Создание объектов формы "на лету" - это очень не тривиальное занятие. Проблема здесь в том, как это все будет выглядеть после создания. Не получится ли некий "уродец", на который "без слез не взглянешь". Имею в виду чисто внешне. Взаимное расположение объектов. Как следствие, такие динамические формы требуют очень жетских правил по размерам и положениям всех объектов. Задача очень сложная. Обычно все-таки объекты не создают, а делают не доступными. Ну, или не видимыми. Тогда на этапе проектирования сразу видно красиво или не красиво расположились объекты. Даже с учетом возможного сокрытия некоторых из них. Поскольку у Вас жетская пара: TextBox+Lable, то использование контейнера кажется вполне разумной идеей. По умолчанию устанавливаете Label.Visible = .F., а если необходимо, просто делаете его видимым. Как правило, использование макроподстановки говорит о не продуманности общей идеологии приложения или же просто о не знании других способов добиться того же самого результата. По поводу настройки SET CONFIRM, можно посмотреть как решают эту задачу в примерах от Microsoft. В данном конкретном случае требуется настройка ON при открытии формы. Значит, устнавливать значение OFF при закрытии формы необходимо только в том случае, если она имела значение OFF при открытии. Зачем менять ON на то же самое ON? Тогда имеем такой код Код: plaintext 1. 2. 3. PS: Объектная ссылка на ту форму, внутри которой находится объект - это ключевое слово ThisForm Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 18:44 |
|
||
|
По поводу префикса пемеренных m.
|
|||
|---|---|---|---|
|
#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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 18:44 |
|
||
|
По поводу префикса пемеренных m.
|
|||
|---|---|---|---|
|
#18+
Ну вот и ладушки! :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 18:47 |
|
||
|
По поводу префикса пемеренных m.
|
|||
|---|---|---|---|
|
#18+
нифига не ладушки трай там сто лет не нужен при проверке нал-я объекта и св-в у него смотри pemstatus почему loObj не залокалил??? зачем m. у лок-х перем-х?? зачем неск-ко раз GETPEM( недостаточно один раз перед общим ифом?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 18:56 |
|
||
|
По поводу префикса пемеренных m.
|
|||
|---|---|---|---|
|
#18+
что-то вроде этого? тока с PEMSTATUS пока не разобрался... Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 19:30 |
|
||
|
По поводу префикса пемеренных m.
|
|||
|---|---|---|---|
|
#18+
2Dima_T - твой пример уже разобрал и он работает :) спасибо! там схороняеццо ссылка на лейбл в пропертях текстбокса. только одно маленькое но - главное чтобы при попытке создания объекта с именем MySuperLongNamedLabel не существовало. Хотя это очень маловероятно, канешна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 19:34 |
|
||
|
По поводу префикса пемеренных m.
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 19:43 |
|
||
|
По поводу префикса пемеренных m.
|
|||
|---|---|---|---|
|
#18+
LPARAMETERS tlHide Дополнительные модификаторы входящих параметров функ-ций для режима передачи по ссылке. V Private по ссылке T Local по ссылке ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 19:46 |
|
||
|
По поводу префикса пемеренных m.
|
|||
|---|---|---|---|
|
#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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 19:56 |
|
||
|
По поводу префикса пемеренных m.
|
|||
|---|---|---|---|
|
#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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2008, 20:12 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=35086086&tid=1588251]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
31ms |
get topic data: |
8ms |
get forum data: |
3ms |
get page messages: |
39ms |
get tp. blocked users: |
2ms |
| others: | 189ms |
| total: | 291ms |

| 0 / 0 |
