var
doc: Variant;
begin
doc := OleContainer1.OleObject;
if doc.Bookmarks.Exists('BookM1') = true Then
doc.Bookmarks.Item('BookM1').Select;
Помогите перевести в Билдер
Хочу сделать навигацию по вордовому документу, импортированному в приложение как ОЛеКонтейнер. В документе сделал закладки.
Скажите почему код на Дельфи работает:
Код:
А перевожу в Билдер
Код:
Variant doc;
doc = OleContainer1->OleObject;
if (doc.OlePropertyGet("Bookmarks").OleFunction("Exists", "BookM1"))
{
doc.OlePropertyGet("Bookmarks").OlePropertyGet("Item", "BookM1").OleProcedure("Select");
}
doc = OleContainer1->OleObject;
if (doc.OlePropertyGet("Bookmarks").OleFunction("Exists", "BookM1"))
{
doc.OlePropertyGet("Bookmarks").OlePropertyGet("Item", "BookM1").OleProcedure("Select");
}
и не работает, т.е. не переходит к метке. А условие на наличие метки срабатывает(пробовал ставить другое значение).
Разбить OlePropertyGet()-ы и посмотреть где появляется NULL (Empty).
Цитата: Phodopus
Разбить OlePropertyGet()-ы и посмотреть где появляется NULL (Empty).
Ошибка вылетает здесь
Код:
doc.OlePropertyGet("Bookmarks").OlePropertyGet("Item", "BookM1")
А что здесь не так?
Говорю же - разбить! По одному OlePropertyGet()-у на выражение.
Уже разобрался.