Вниз
Скачать: 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
3-1085494091
Tom
2004-05-25 18:08
2004.06.20
TADOQuery.LoadFromFile


1-1086260321
osama
2004-06-03 14:58
2004.06.20
Как перекинуть array[0...x] of Char в PChar?


1-1086278913
Delphin
2004-06-03 20:08
2004.06.20
OnClick


1-1086338634
SigalX
2004-06-04 12:43
2004.06.20
Installer


14-1085997157
AlexG
2004-05-31 13:52
2004.06.20
Как вы относитесь к брэккет системам?




   Наверх