Символ с кодом 0 обрубает строку
От: Hegemon  
Дата: 17.12.04 07:26
Оценка:
т.е. на VB все нормально обрабатывается, а в делфи обрубается, как побороть?

http://www.rsdn.ru/Forum/Message.aspx?mid=949625&only=1
Автор: Hegemon
Дата: 16.12.04
Re: Символ с кодом 0 обрубает строку
От: SchweinDeBurg Россия https://zarezky.spb.ru/
Дата: 17.12.04 07:39
Оценка:
Здравствуйте, Hegemon, Вы писали:

H>т.е. на VB все нормально обрабатывается, а в делфи обрубается, как побороть?


H>http://www.rsdn.ru/Forum/Message.aspx?mid=949625&only=1
Автор: Hegemon
Дата: 16.12.04


Использовать тип BSTR — SysAllocString(), SysFreeString(), etc.
[ posted via RSDN@Home 1.1.4 beta 3 r241 ]
- Искренне ваш, Поросенок Пафнутий
Re: Символ с кодом 0 обрубает строку
От: Cory Россия  
Дата: 17.12.04 07:54
Оценка:
Здравствуйте, Hegemon, Вы писали:

H>Символ с кодом 0 обрубает строку

H>т.е. на VB все нормально обрабатывается, а в делфи обрубается, как побороть?

Плохо знаком с Дельфи но скорее всего дело в следующем: есть null-terminated strings и строки с префиксом, в котором указывается длина строки. В VB используются строки с префиксом. Когда Вы используете объект, возвращаюзий такую строку в Дельфи, Вы вероятно преобразовываете её (явно или неявно) к строке, которая оканчивается нулем. Мне кажется, в Дельфи есть и другой тип строк, префиксный. Используете в клиентской программе его. Или не используете символ "\0" в своих строках. Честно говоря не представляю, зачем Вам понадобилось этот символ использовать.

С уважением,
Чернов Евгений.
Re[2]: Символ с кодом 0 обрубает строку
От: Hegemon  
Дата: 17.12.04 07:55
Оценка:
SDB>Использовать тип BSTR — SysAllocString(), SysFreeString(), etc.

Я бы с удовольствием но этих функций нет в делфи
Re[3]: Символ с кодом 0 обрубает строку
От: SchweinDeBurg Россия https://zarezky.spb.ru/
Дата: 17.12.04 07:57
Оценка:
Здравствуйте, Hegemon, Вы писали:

SDB>>Использовать тип BSTR — SysAllocString(), SysFreeString(), etc.


H>Я бы с удовольствием но этих функций нет в делфи


Это — функции Win32 API и из Дельфей они должны быть доступны (через uses Windows,если мне память не изменяет).
[ posted via RSDN@Home 1.1.4 beta 3 r241 ]
- Искренне ваш, Поросенок Пафнутий
Re[4]: Символ с кодом 0 обрубает строку
От: Hegemon  
Дата: 17.12.04 08:05
Оценка:
// *********************************************************************//
// DispIntf: ISEMServerDisp
// Flags: (4416) Dual OleAutomation Dispatchable
// GUID: {289FCFF1-A846-11D6-AE04-000103189EA7}
// *********************************************************************//
ISEMServerDisp = dispinterface
['{289FCFF1-A846-11D6-AE04-000103189EA7}']
procedure Scoring(const ClientID: WideString; const RequstID: WideString;
const Person: WideString; const InP: WideString; out OutP: OleVariant); dispid 1;
end;


я для оутпут параметра импользую olevariant
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.