Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.06.20;
Скачать: 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 вся ветка

Текущий архив: 2004.06.20;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.022 c
9-1077688523
Rasp
2004-02-25 08:55
2004.06.20
Как прокрутить изображение экрана за игроком?????????


4-1084536722
Алексей Шолкин
2004-05-14 16:12
2004.06.20
вопрос по написанию программы передачи данных через порты


8-1081370171
zumoz
2004-04-08 00:36
2004.06.20
dspack + tv tuner


1-1086540464
AndersoNRules
2004-06-06 20:47
2004.06.20
Peregon typedef ---> record


3-1085435976
Jarra
2004-05-25 01:59
2004.06.20
Права пользователя в Interbase и BDE...