-
Пожалуйста, подскажите, в чём дело? Компилирую тестовый проект от Thaddy - KOLTOMDemo, компилируется ок. Компилирую свой проект - выскакивает ошибка в модуле KOLComObj "Variants unit out of date or corrupted: missing @VarCast"
Что не так? :(
-
Д2009? :)
-
неа :) D7
-
Дело в том, что мой проект изначально базировался на простом richedit. Вчера я решил добавить поддержку OLE. Подчёркиваю, тестовый проект от Thaddy (и любой другой, который пишется с нуля) компилируется без проблем. А мой проект достаточно большой и содержит много всякого :) И отказывается компилироваться. Я в печали. Переписывать возможности нет, как и гарантий, что будет работать
-
В примере или в твоей программе используется замена variants.pas?
-
В примере FakeVariants не используется, в моей программе результат один и тот же, вне зависимости от того, использую я их или нет. Вот что меня беспокоит :) Сейчас пытаемся решить проблему с Thaddy, но если и у вас есть любые предположения, жду их с нетерпением )
-
Посмотрите в папке KOL'а, может там fakevariant затесался...
-
Я надеюсь, вы в курсе, что надо не компилировать, а делать Build All. Если не помогает, еще такое пробовать: закрыть проект, удалить ВСЕ dcu (включая kol.dcu), открыть по новой и сделать Build All.
-
Я понимаю и я так и делаю. Но есть один момент - чистая демка компилится, мой проект - нет. Думается, что проблема именно в моём проекте. Это странно и я должен найти путь заставить его работать. Build (само собой) и даже удаление dcu/rebuild kol mirror package не помогают для моего проекта
Йа в печали :(
-
Ошибка явно указывает на то, что дельфя пытается подцепить не тот variants.pas, какой хочет видеть.
-
Именно. Но где же ошибка? Как я понимаю, дело именно в моём проекте. Ладно, ищу дальше...
-
Ошибка найдена. Дело было в невнимательности :) для очистки каталога проекта я использую .bat файл, однако, кроме удаления .dcu и .~pas фалов он так же копировал туда скомпилированные .dcu замены системных файлов (System+SysInit) После удаления этих файлов проект скомпилировался нормально. Однако, размер файла теперь вырос вдвое, а так хотелось сохранить компактность :'(
Ну ничего. Всем спасибо за участие. По ходу дела ещё один вопрос. При вставке OLE-объекта интерфейс RichEditOleCallback вызывает функцию QueryinsertObject(const ClsID: TCLSID; Stg: IStorage; CP: Integer) где CP - позиция, на которую вставляется объект. Так вот, CP всегда равен -1, размер данных в IStorage равен нулю, и только ClsID показывает определённый класс. Почему так? По идее, и CP и IStorage должны содержать какие-то данные, но этого не происходит.
|