Форум: "Прочее";
Текущий архив: 2007.11.04;
Скачать: [xml.tar.bz2];
ВнизБлин!!! Как бороться? Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.043 c