Вверх ↑
Ответов: 1925
Рейтинг: 172
#1: 2017-09-27 06:34:57 ЛС | профиль | цитата
Master4eG писал(а):
Первое поле заполняется, далее runtime ошибка и программа вылетает...


Попробуй так:

begin
FormItem := PKOLWebBrowser(wb).OleObject.Document.forms.Item(i);
for k:=0 to FormItem.length-1 do
begin
if FormItem.Item(k).Name = ToStringEvent(FieldName1) then FormItem.Item(k).Value := ToStringEvent(FieldValue1);
if FormItem.Item(k).Name = ToStringEvent(FieldName2) then FormItem.Item(k).Value := ToStringEvent(FieldValue2);
if FormItem.Item(k).Name = ToStringEvent(FieldName3) then FormItem.Item(k).Value := ToStringEvent(FieldValue3);
if FormItem.Item(k).Name = ToStringEvent(FieldName4) then FormItem.Item(k).Value := ToStringEvent(FieldValue4);
if FormItem.Item(k).Name = ToStringEvent(FieldName5) then FormItem.Item(k).Value := ToStringEvent(FieldValue5);
end;
end;
Т.е. после цикла for составной оператор begin/end, т.к. без него выполняется только одна команда - до точки с запятой.

Master4eG писал(а):
2 примера и в них всего 1 строка различается

Код, по сути, тот же самый = перебор форм и их элементов. А различие в имени атрибута для проверки и вызываемом методе или свойстве (Value или Click).

Master4eG писал(а):
нашел только 1 комментарий к этой строке (правда какой документ и кем получен не понятно) и понял что такое THI_Event

Это означает, что если переменная wb не назначена, то происходит назначение её. ToIntegerEvent - эта функция возвращает число с верхней точки компонента, а PControl - просто приведение к типу PControl (он тоже числовой, но Object Pascal строго следит за точным соответствием типов).

Master4eG писал(а):
Столько примеров в интернете все темы 2000х годов, видимо Delphi реально умирает, или это никому не нужно...

Просто всё, что можно было разобрать, уже разобрали тогда. Ничего принципиально нового тут не появилось. Помню, нужно было работать с мультимедиа в интерфейсе MCI, так читал книгу Фролова аж за 1994 год! И всё с тех пор работает, те же функции. Хотя в восьмёрках-десятках, может, что изменилось.
карма: 9
0