![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
[TWebbrowser+JS] Как проверить переменную js? [D7, XP]
vegarulez © (2016-07-28 11:44:00)Всем привет!
Подскажите как правильно проверять наличие переменной в загруженном документе в twebbrowser, а то если в одном документе она есть и к ней обращаюсь - то всё ок то в другом ее нет и ловлю исключение. Но проверять через исключение как-то не айс. А по другому как - не знаю. olevariant не получается проверить на Assigned. Подскажите каким образом это можно сделать?
procedure TFormMain.Webbrowser1CommandStateChange(Sender: TObject;
Command: Integer; Enable: WordBool);
var
document: IHTMLDocument2;
V: olevariant;
begin
Assert(Assigned(document));
if Assigned(document) then
try
V := Webbrowser1.Document;
V := V.parentWindow;
if (VarToStr(V.prov_id) <> '') then
begin
prov_id := V.prov_id;
btClick(Application);
V.prov_id := '';
prov_id := '';
end;
except
on E: Exception do
begin
MessageDlg('Webbrowser1CommandStateChange' + #10#13 + E.Message + #10#13 + inttostr(E.HelpContext), mtWarning, [mbOk], 0);
document.clear;
end;
end;
end;
vegarulez (2016-07-28 13:06:00) [21]Webbrowser1CommandStateChange
Method 'prov_id' not supported by automation object
0
vegarulez (2016-07-28 13:03:00) [22]Не совсем понятно что с nil сравнивать?
V.prov_id<>nil - выдает инкомпатибл тайпс ещё на этапе компиляхи
Остальные методы при обработке в документе, в котором в js нет такой переменной (prov_id) также выдает ошибку на эксепшене.
vegarulez (2016-07-28 12:30:00) [23]Ок, попробую пасип.
iop (2016-07-28 12:10:00) [24]вариземпти + варизнул + <> nil