
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.123] |
![]() |
|
Страницы: (2) 1 [2] все ( Перейти к последнему сообщению ) |
Сообщ.
#16
,
|
|
|
Цитата ScoobyDoo @ заменил 0 на 1: xV := Form1.App.Charts[i].SeriesCollection.Item(1).XValues; - работает нормально, без ошибок...но что это даёт? А вот что: 1) индексация Form1.App.Charts[i].SeriesCollection.Item(...) начинается от единицы (у Масдая все через одно место); 2) выражение Form1.App.Charts[i].SeriesCollection.Item(1).XValues корректно отработано ! Следовательно исходная проблема выражения: Form1.App.Charts[i].SeriesCollection.Item(1).XValues := v5; в некорректной правой части. Значение v5 некорретно ! |
Сообщ.
#17
,
|
|
|
Цитата RuSA @ Цитата ScoobyDoo @ заменил 0 на 1: xV := Form1.App.Charts[i].SeriesCollection.Item(1).XValues; - работает нормально, без ошибок...но что это даёт? А вот что: 1) индексация Form1.App.Charts[i].SeriesCollection.Item(...) начинается от единицы (у Масдая все через одно место); 2) выражение Form1.App.Charts[i].SeriesCollection.Item(1).XValues корректно отработано ! Следовательно исходная проблема выражения: Form1.App.Charts[i].SeriesCollection.Item(1).XValues := v5; в некорректной правой части. Значение v5 некорретно ! Каким образом оно может быть некоректно? если он просто получается: ![]() ![]() v5 := v1.Range[v1.Cells[HomeRow-1,HomeColumn], v1.Cells[HomeRow-1,Column-1]]; извините, но просто не понимаю...что тут как надо исправить, чтобы заработало? ведь в 2003 офисе всё работает |
Сообщ.
#18
,
|
|
|
Цитата ScoobyDoo @ Каким образом оно может быть некоректно? Имея в виду выражение (1): ![]() ![]() Form1.App.Charts[i].SeriesCollection.Item(1).XValues := v5; рассмотрим только факты. В силу того, что выражение слева корректно, потому что: Цитата RuSA @ xV := Form1.App.Charts[i].SeriesCollection.Item(1).XValues; - работает нормально, без ошибок , а присвоение (1) нет, причем с ошибкой "несовпадение типов данных", ясно что проблема в правой части, либо слева надо прописать что-то еще, например .Range или .Value: ![]() ![]() Form1.App.Charts[i].SeriesCollection.Item(1).XValues.Range := v5; ![]() P.S. Такое происходит потому-что "дятел" VB самостоятельно может использовать .Value или более обощенно - "свойство по умолчанию" для данного объекта, когда посчитает нужным. Именно поэтому (и не только), считаю что на VB пишут мазохисты ![]() |
Сообщ.
#19
,
|
|
|
Цитата RuSA @ Цитата ScoobyDoo @ Каким образом оно может быть некоректно? Имея в виду выражение (1): ![]() ![]() Form1.App.Charts[i].SeriesCollection.Item(1).XValues := v5; рассмотрим только факты. В силу того, что выражение слева корректно, потому что: Цитата RuSA @ xV := Form1.App.Charts[i].SeriesCollection.Item(1).XValues; - работает нормально, без ошибок , а присвоение (1) нет, причем с ошибкой "несовпадение типов данных", ясно что проблема в правой части, либо слева надо прописать что-то еще, например .Range или .Value: ![]() ![]() Form1.App.Charts[i].SeriesCollection.Item(1).XValues.Range := v5; ![]() P.S. Такое происходит потому-что "дятел" VB самостоятельно может использовать .Value или более обощенно - "свойство по умолчанию" для данного объекта, когда посчитает нужным. Именно поэтому (и не только), считаю что на VB пишут мазохисты ![]() Попробовал и ![]() ![]() Form1.App.Charts[i].SeriesCollection.Item(1).XValues.Range := v5; и ![]() ![]() Form1.App.Charts[i].SeriesCollection.Item(1).XValues.Value := v5; ...всё без толку...в этих случаях вылазиет ошибка Invalid variant operation Ну подсобите мне, пожалуйста....башка уже болит об стенку биться -( |
Сообщ.
#20
,
|
|
|
Раз экспериментировать не позволяет религия, предлагаю просто поискать ИНТЕРФЕЙСЫ для нужной версии Ofiice'а.
И совсем отказаться от использования "диких" runtime OLE-вызовов через варианты. Это уже многие советовали давным давно. Будет все гораздо проще, т.к. контроль 95% проблем возьмет на себя компилятор. |