Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.11.04;
Скачать: CL | DM;

Вниз

Блин!!! Как бороться?   Найти похожие ветки 

 
Andy BitOff ©   (2007-10-07 16:39) [0]

Блин, надоело... Может, кто знает более действенный способ, чем я, как бороться со следующим багом, не багом. Delphi7
При указании в коде для OLE объекта "Word.application" диапазона (Range) в виде Range(бла-бла.Start, бла-бла.End), из-за этого энда весь ниже следующий код в редакторе не реагирует на сочетания клавиш Ctrl+Space, Ctrl+Shift+Space и т.п.
Я спасаюсь, только коментированием участков кода с заданием диапазона. Но уже не раз нарывался, на то, что забываю раскоментировать....
Блин, не возможно работать.


 
Kolan ©   (2007-10-07 17:24) [1]

> Может, кто знает более действенный способ

Перейти на другую версию Delphi, 266/2007 например(я про студию)


 
Andy BitOff ©   (2007-10-07 18:04) [2]

У меня сейчас нет столько денех. Да и не решение это. Кстати, не уверян, что там нет такой проблемы, может кто проверит?
Вот код:

procedure SomeProc(Par1: string);
var
 WordApp: Variant;
 Doc1, Table, myRange: OleVariant;
begin
 WordApp := CreateOleObject("Word.Application");
 WordApp.Documents.Open("111.doc"); // файл содержащий таблицу
 Table := WordApp.ActiveDocument.Tables.item(1);
 myRange := WordApp.ActiveDocument.Range(Table.Cell(1, 1).Range.Start, Table.Cell(1, Table.Columns.Count).Range.End);
end;

procedure SomeProc2();
var
 PersonList: TStringList;
begin
 SomeProc("SomeString");
 PersonList := TStringList.Create;
end;

Вот на SomeProc("SomeString"); не сработает Ctrl+Shift+Space
А на PersonList := TStringList.Create; не сработает Ctrl+Space


 
sniknik ©   (2007-10-07 18:10) [3]

> Вот на SomeProc("SomeString"); не сработает Ctrl+Shift+Space
> А на PersonList := TStringList.Create; не сработает Ctrl+Space
а у меня работает... Delphi7. похоже дело не в этой части кода...


 
DrPass ©   (2007-10-07 18:31) [4]


>  из-за этого энда весь ниже следующий код в редакторе не
> реагирует на сочетания клавиш Ctrl+Space, Ctrl+Shift+Space
> и т.п.

У меня такая проблема была, если в коде длинная формула, разбитая на две строки, причем на знаке деления "/"


 
Andy BitOff ©   (2007-10-07 18:55) [5]


> sniknik ©   (07.10.07 18:10) [3]

Хм... Действительно на этом примере работает, правда я писал его прямо тут. Но в моём проекте аналогично (с некоторыми изменениями). И проблема пропадает при коментированиие строки (и нескольких похожих)
WordApp.ActiveDocument.Range(Table.Cell(i + 3, 1).Range.Start,
             Table.Cell(i + 3, Table.Columns.Count).Range.End).Cells.Shading.BackgroundPatternColor := pan_LineBgrColor.SelectedColor;


> DrPass ©   (07.10.07 18:31) [4]

Эта строка (такая, примерно) не одна, тоже разбита на несколько, но при соединении их в одну, глюк не пропадает.

Да, очень странно. Пока писал этот пост и Дельфи перегрузил и всякие варианты перепробовал, но глюк не исчез.


 
Andy BitOff ©   (2007-10-07 19:16) [6]

Да-а-а-а...
Как не странно, но проблема решилась.
jack128 на sources.ru посоветовал так:

uses
 WordXP;
Range(бла-бла.Start, (IDispatch(бла-бла) as RangeDisp).End_)

И, как не странно, это действительно помогло.

Но целесообразно ли использование интерфейсов в такой конструкции?

Значит, всё-таки, глюк Дельфей.


 
jack128_   (2007-10-07 19:30) [7]


> Но целесообразно ли использование интерфейсов в такой конструкции?

В смысле "целесообразно" ??  Ну потеряешь ты пару миллисекунд на доп. вызов QueryInterface ну и фиг с ними. Зато избавишся от вызова GetIDsOfNames так что баш на баш выходит..


> Значит, всё-таки, глюк Дельфей.

А кого ж еще.. Видимо парсер клинит на ключевом слове.. Тоже эффекты мона наблюдать, если допустить какую нить синтаксическую ошибку в коде...


 
homm ©   (2007-10-07 19:32) [8]

> Блин!!! Как бороться?

Съесть?


 
имя   (2007-10-07 22:11) [9]

Удалено модератором


 
имя   (2007-10-07 22:13) [10]

Удалено модератором



Страницы: 1 вся ветка

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

Наверх




Память: 0.49 MB
Время: 0.023 c
2-1191770512
Grim
2007-10-07 19:21
2007.11.04
Может программа сама поменть свой код?


15-1190767093
DimaL
2007-09-26 04:38
2007.11.04
Связь с 1С


2-1192018494
@!!ex
2007-10-10 16:14
2007.11.04
Указатель на самого себя.


2-1192260881
031178
2007-10-13 11:34
2007.11.04
Дерево TreeView


15-1191350874
ProgRAMmer Dimonych
2007-10-02 22:47
2007.11.04
Может быть, у кого-нибудь программка завалялась...