Наткнулся на свеженькую фичу с 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)
Модератор: Дед Пахом
Код: Выделить всё
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)
Ошибся!!!
Код: Выделить всё
A -Clip(B) возвращает не '', а '<0>'
Ну и что? Чисто внешне - пробел. Куда остальные символы деваются?
В никуда! Не забывай. что мы имеем дело с CString!!!kreator писал(а): 16 Июнь 2020, 18:11 Ну и что? Чисто внешне - пробел. Куда остальные символы деваются?
Аналогично. Но вот у меня, после передачи очереди в dll, обрезает!Rimas писал(а): 16 Июнь 2020, 18:18 Да нет, я не ошибся. Не поленился и протестил. Версия 11.0.13505
Код: Выделить всё
A = 'A'
        B = ''
        C = 'C'
        clear(B)
        D = Clip(A) & ' - ' & CLIP(B) & ' - ' & Clip(C)
        E = A & ' - ' & B & ' - ' & C
        Stop(D)
        Код: Выделить всё
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
Код: Выделить всё
  TYPE$ExportListFile @?
  TCB$ExportListFile @?  
  $ExportListFile @?  
Код: Выделить всё
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)                        
Код: Выделить всё
! Обрезает
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))
Может еще проблема в окне которое message выводит, криво оно в 10 сделаноRimas писал(а): 16 Июнь 2020, 18:32 Я подозреваю, что проблемма может быть при передаче параметров. Можешь дать пример, как передаешь?