18.10.2013, 13:41 | #1 |
Участник
|
Чудеса TextBuffer
Уважаемые Господа, столкнулся с чудным повередием TextBuffer, возможно, кому нибудь это поможет избежать ошибок или кто нибудь знает причины столь изысканного поведения.
При появлении клюка код сократил до тестового фрагмента: textBuffer tb = new textBuffer(); textBuffer tb1 = new textBuffer(); ; tb.setText('123456'); tb.toClipboard(); tb1.fromClipboard(); Если данный код выполняет в методе классе, job, форме все хорошо - в tb1 содержится строка "12345" Если данный код выполняется в статическом методе класса, в моем случае PriceDicsAdmPost, то в tb1 пусто. Может кто-то, что-то подсказать по данному вопросу? C уважением, Дмитрий. |
|
18.10.2013, 13:45 | #2 |
MCITP
|
Смотреть где и что выполняется. Т.е. клиент\сервер
Были такие же чудеса. Тестишь джобом(который клиентский), а потом пишешь в класс, который серверный и сидишь и не понимаешь, что за чудеса. |
|
18.10.2013, 13:46 | #3 |
Участник
|
На клиенте.
С уважением, Дмитрий. |
|
18.10.2013, 13:51 | #4 |
MCITP
|
Сейчас сам попробую.
Последний раз редактировалось GBH; 18.10.2013 в 13:53. |
|
18.10.2013, 13:56 | #5 |
Участник
|
Инициализирован 1 раз tb и один раз tb1. Когда я понял, что текст в clipbord не попадает, добавил второй буфер, что бы исследовать в отладчике.
С уважением, Дмитрий. |
|
18.10.2013, 14:21 | #6 |
Участник
|
Если меня не подводит память клиентская и серверная реализации этого класса отличаются.
На сервере он вроде как не работает с буфером обмена. Проверяйте где у вас код исполняется. Джобы при запуске из редактора всегда исполняются на клиенте. модификатор server игнорируется. |
|
18.10.2013, 14:37 | #7 |
MCITP
|
Всё работает нормально, если метод исполняется на клиенте. Точно на клиенте всё происходит?
|
|
18.10.2013, 14:41 | #8 |
Участник
|
Добрый день! У меня была похожая проблема, данные не вставлялись в Excel из буфера, на форуме посоветовали создать копию класса TextBuffer, только чтобы он выполнялся на клиенте - мне помогло, может и в вашей ситуации подойдёт.
Удачи! |
|
|
За это сообщение автора поблагодарили: DmitryK (1). |
18.10.2013, 15:07 | #9 |
Участник
|
Еще поэксперементировал... Статический метод не причем. Данный код не работает именно в классе PriceDiscAdmCheckPost.
Вроде не смог найти подтверждения выполнения данного класса на сервере. С уважением, Дмитрий. Последний раз редактировалось DmitryK; 18.10.2013 в 15:17. |
|
18.10.2013, 15:07 | #10 |
Участник
|
Все уверены, что на сервере.
Посмотрите свойство RunOn вашего класса.
__________________
// no comments |
|
|
За это сообщение автора поблагодарили: DmitryK (1). |
18.10.2013, 15:20 | #11 |
Участник
|
Called from
Как понять под отладчиком где идет выполнение не знаю. С уважением, Дмитрий. |
|
18.10.2013, 15:23 | #12 |
MCITP
|
Я же показал красным квадратиком на скрине. Сделал метод в указанном Вами классе. Всё работает. Покажите такой же скрин.
|
|
|
За это сообщение автора поблагодарили: DmitryK (1). |
18.10.2013, 15:23 | #13 |
Участник
|
Цитата:
Напишите примерно так info(strFMT("%1", isrunningonserver())); и поставьте в том месте гды пытаетесь работать с классом TxtBuffer и где его экземпляр создаете. |
|
|
За это сообщение автора поблагодарили: DmitryK (1). |
18.10.2013, 15:27 | #14 |
Участник
|
Всем спасибо, действительно на сервере.
С уважением, Дмитрий. |
|