Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Конвертирования переменной из OleVariant в String


Canord ©   (2008-05-19 10:57:00) 

Удалено модератором
Примечание: СПАМ


Canord   (2008-05-20 14:32:00) [1]

Попробую описать проблему подробнее...

Пишу приложение типа клиент-сервер на MS ActiveX Winsock 6.0 (необходимо обязательно использовать именно Winsock)

Winsock передает данные только в формате OleVariant и соответственно в таком и принимает...

// Клиент передача...

procedure TForm1.btnSendClick(Sender: TObject);
var
ov: OleVariant;
begin
ov:='1234567890';
Winsock1.SendData(ov);
end;

// Сервер Событие приема данных

procedure TForm1.Winsock1DataArrival(ASender: TObject; bytesTotal: Integer);
var
ov: OleVariant;
sTmp: String;
wf: WideString;
begin
Winsock1.GetData(ov);
sTmp:=String(ov);
//Пробывал и такой вариант не помагает
//wf:=ov;
//sTmp:=VarToWideStr(wf);
// Результат ?????(знаки вопроса)
end;

Дело в том что данные приходят в неизвесной кодировке

Как правильно перевести данные из OleVariant в String?


Сергей М.   (2008-05-19 12:04:00) [2]

Я дамппамяти у тебя спрашиваю, а не знаки вопросов, которые я уже видел)


Canord   (2008-05-19 12:01:00) [3]

т.е. так ?

var
pr: Pointer;
s: String;

pr:=TVarData(olevariant).VPointer;
s:=String(pr);


Сергей М.   (2008-05-19 11:43:00) [4]

А говоришь ничего не выводит)

Тогда приводи сюда значение TVarData(MyOLEVariantVariable).VType и дамп данных, на которые указывает TVarData(MyOLEVariantVariable).VPointer


Canord   (2008-05-19 11:40:00) [5]

отладчик показывает в переменной знаки вопроса


Сергей М.   (2008-05-19 11:37:00) [6]


> тоже самое дословно


Чегоооо ???


Canord   (2008-05-19 11:36:00) [7]

тоже самое дословно ????????еф???????


Сергей М.   (2008-05-19 11:29:00) [8]


> данных приходят челиком


Я не спрашиваю, откуда они у тебя приходят и куда уходят)


> отладчик ничего не выводит
>


Быть того не может.
Поймай брейкпойнт на строчке s := MyOLEVariantVariable, наведи курсор мыши на MyOLEVariantVariable - отладчик обязанхоть как-то отреагировать


Canord   (2008-05-19 11:16:00) [9]

отладчик ничего не выводит


Canord   (2008-05-19 11:15:00) [10]

данных приходят челиком это можно судить по из длине


Сергей М.   (2008-05-19 11:06:00) [11]

А что показывает отладчик ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо