Страница 26 из 197
Clarion 11-12
Добавлено: 16 Июнь 2020, 16:25
Губин Игорь
МУДАКИ, ДОЛБОЁБЫ, КРИВОРУКИЕ КОДИРОВЩИКИ!!!
Наткнулся на свеженькую фичу с CString
Код: Выделить всё
A CStrng(1024)
B CString(1024)
C CString(1024)
D CString(1024)
CODE
A = 'A'
B = ''
C = 'C'
D = Clip(A) & ' - ' & Clip(B) & ' - ' & Clip(C)
Stop(D)
Угадайте с одного раза, что вы увидите в STOP
Clarion 11-12
Добавлено: 16 Июнь 2020, 17:52
Rimas
A - - C
Clarion 11-12
Добавлено: 16 Июнь 2020, 17:53
Rimas
и в чем прикол?
Clarion 11-12
Добавлено: 16 Июнь 2020, 17:57
Губин Игорь
Rimas писал(а): 16 Июнь 2020, 17:52A - - C
Ошибся!!!
Rimas писал(а): 16 Июнь 2020, 17:53в чем прикол?
Clip(B) возвращает не '', а '<0>'
Может дело в каких-то параметрах или передачах, но я угрохал 30 минут, пока допёр
Clarion 11-12
Добавлено: 16 Июнь 2020, 18:11
kreator
Я вроде попробовал, у меня как положено. Как Римас написал, имею ввиду. Версия - 11.0.13401.
Губин Игорь писал(а): 16 Июнь 2020, 17:57
Clip(B) возвращает не '', а '<0>'
Ну и что? Чисто внешне - пробел. Куда остальные символы деваются?
Clarion 11-12
Добавлено: 16 Июнь 2020, 18:18
Rimas
Да нет, я не ошибся. Не поленился и протестил. Версия 11.0.13505
Clarion 11-12
Добавлено: 16 Июнь 2020, 18:18
Губин Игорь
kreator писал(а): 16 Июнь 2020, 18:11
Ну и что? Чисто внешне - пробел. Куда остальные символы деваются?
В никуда! Не забывай. что мы имеем дело с CString!!!
D = 'A - <0> - C'
Т.е. D = 'A - '
Прости за грубость. Пока допёр мозги поехали...
Clarion 11-12
Добавлено: 16 Июнь 2020, 18:24
Губин Игорь
Rimas писал(а): 16 Июнь 2020, 18:18
Да нет, я не ошибся. Не поленился и протестил. Версия 11.0.13505
Аналогично. Но вот у меня, после передачи очереди в dll, обрезает!
Возможно, что как-то связано с
- передачей значений
- множественым использованием Clear()
Попробуй сделать Clear(B)
Clarion 11-12
Добавлено: 16 Июнь 2020, 18:26
Rimas
Одинаковый результат что с CLIP, что без. Это же CSTRING. Явно проблема где-то в другом месте
Clarion 11-12
Добавлено: 16 Июнь 2020, 18:27
Rimas
Где и что clear-ить?
Clarion 11-12
Добавлено: 16 Июнь 2020, 18:30
Rimas
Код: Выделить всё
A = 'A'
B = ''
C = 'C'
clear(B)
D = Clip(A) & ' - ' & CLIP(B) & ' - ' & Clip(C)
E = A & ' - ' & B & ' - ' & C
Stop(D)
Без разницы
Clarion 11-12
Добавлено: 16 Июнь 2020, 18:32
Rimas
Я подозреваю, что проблемма может быть при передаче параметров. Можешь дать пример, как передаешь?
Clarion 11-12
Добавлено: 16 Июнь 2020, 19:17
Губин Игорь
Выдержка из того куска, который правлю сейчас, после обнаружения проблемы
В програме:
Код: Выделить всё
ExportListFile Queue,PRE(ELSF),External,DLL(dll_mode),THREAD
GradeName STRING(100)
MarkaStandartName STRING(100)
StandardName String(100)
Country String(100)
MarkaGroup String(100)
MarkaNumber Long
OsnovaNumber Long
AnalizGroup Group,Dim(200),Pre()
ValueMin Real
ValueMax Real
ActPrz Byte
END
End
В EXP
Код: Выделить всё
TYPE$ExportListFile @?
TCB$ExportListFile @?
$ExportListFile @?
В DLL
Код: Выделить всё
ExportListFile Queue,PRE(ELSF),THREAD
GradeName STRING(100)
MarkaStandartName STRING(100)
StandardName String(100)
Country String(100)
MarkaGroup String(100)
MarkaNumber Long
OsnovaNumber Long
AnalizGroup Group,Dim(200),Pre()
ValueMin Real
ValueMax Real
ActPrz Byte
END
END
EOUFLine CString(65100)
Код в DLL где правлю аналогичную проблему
сейчас
Код: Выделить всё
! Обрезает
EOUFLine = Clip(Left(Clip(ExportListFile.GradeName) & ' ' & Clip(ExportListFile.StandardName))) & ';' & Clip(Left(ExportListFile.MarkaGroup)) & ';' & Clip(Left(ExportListFile.Country))
Код: Выделить всё
! Не обрезает
EOUFLine = Clip(Left(Clip(ExportListFile.GradeName) & ' ' & Clip(ExportListFile.StandardName)))
EOUFLine = EOUFLine & ';' & Clip(Left(ExportListFile.MarkaGroup))
EOUFLine = EOUFLine & ';' & Clip(Left(ExportListFile.Country))
Clarion 11-12
Добавлено: 29 Июнь 2020, 19:58
finsoftrz
Погонял сегодня еще среды C10/C11. Если установить режим Full Screen, то на монике 19 дюймов с разрешением 800х600 вполне нормально и свои окошки вижу, и контролы среды. Сборка горячей клавишей, чтобы в меню не лезть, а тулбар скрыт в этом режиме.
Clarion 11-12
Добавлено: 29 Июнь 2020, 21:30
gopstop2007
Rimas писал(а): 16 Июнь 2020, 18:32
Я подозреваю, что проблемма может быть при передаче параметров. Можешь дать пример, как передаешь?
Может еще проблема в окне которое message выводит, криво оно в 10 сделано