Вниз
Скачать: CL | DM;

Variant Array of Variant   Найти похожие ветки 

← →
neteditor ©   (2004-06-03 23:41) [0]

Никогда не работал с данным типом и поэтому зашел в тупик.
В компоненте TWebBrowser при возникновении события BeforeNavigate2 не могу получить значение переменной PostData

TMainForm.WebBrowserBeforeNavigate2(Sender: TObject; const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,  Headers: OleVariant; var Cancel: WordBool);
var
 s: string;
begin
 s := PostData;
end;


При таком подходе длинна строки, вроде бы, правильная, вот только строка получается из одних знаков "?". Что-то с кодировками?

Конструкция VarType(PostData) and varTypeMask возвращает varVariant.


← →
rrew   (2004-06-04 00:07) [1]

function VarToStr(const V: Variant): string;

попробуй так, мож че получится


← →
Ломброзо ©   (2004-06-04 00:29) [2]

---------->8-----------------

The post data specified by PostData is passed as a SAFEARRAY structure. The variant should be of type VT_BYREF|VT_VARIANT, which points to a SAFEARRAY. The SAFEARRAY should be of element type VT_UI1, dimension one, and have an element count equal to the number of bytes of post data.

---------->8-----------------
в переводе: PostData - это массив типа SAFEARRAY, содержащий байты. Как его интерпретировать - как строку ли ANSI, или строку UNICODE, или как массив других переменных - неизвестно.


← →
neteditor ©   (2004-06-04 13:13) [3]

[1] увы :)

[2] спасибо


var
 s: string;
 i: integer;
...
   if Length(TVariantArray(PostData)) > 0 then
   begin
     s := "";
     for i:=0 to Length(TVariantArray(PostData))-2 do
       s := s + Chr(Ord( byte(TVariantArray(PostData)[i]) ));
     Application.MessageBox(PAnsiChar(s), "test");
   end;

Может, громоздко и некрассиво, но, вроде бы, работает.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.019 c
1-1086255537
kukuikar
2004-06-03 13:38
2004.06.20
Боольшой вопрос о шифровании...


1-1086675201
ancara
2004-06-08 10:13
2004.06.20
ошибка Integer overflow


6-1083154069
ultracrash
2004-04-28 16:07
2004.06.20
Как созранить страничку в ВебБраузере


4-1084372310
Неуловимый Джо
2004-05-12 18:31
2004.06.20
Повторный запуск проги и передача ParamStr()


1-1086457399
8ung
2004-06-05 21:43
2004.06.20
Код символа




   Наверх