Секреты dsgnintf.dcu
Секреты dsgnintf.dcu
Секреты dsgnintf.dcu Все найденное касается совместимости Дельфи5 и 6 (причем только их обоих). По сути дела они совместимы , вот только надо подкопаться правильно. Если вы хотите поставить ВИЗУАЛЬНЫЙ компонент из Д5 в Д6 , то вам надо узнать, использует ли он юниту dsgnintf.dcu, все дело в том, что разработчики шестой версии дельфей поделили его на designeditors, designintf, designwindows, designmenus и desgnconst, поэтому в uses надо поместить их вместо dsgnintf. Небольшие махинации далее тоже потребуются, поскольку есть юнита (то есть подразумевается что он есть в Delphi 6Proffesional edition) proxies.dcu, его надо удалить из uses и появившуюся при компиляции ошибку в условном блоке (далее изображено схематично) заменить: if something then doaction на: Action. Иногда при компиляции "не переваривается" override , он происходит сам собой поэтому ключевое слово override где выдается его ошибка сотрите. Претерпевает изменение и метод регистрации так , например : procedure Register; begin RegisterComponents ('Cool!', [TCoolForm]); // зеленые это совместимые строки RegisterPropertyEditor (TypeInfo(TRegionType), TCoolForm, 'Mask', **TCoolMaskEditor**); {место возникновения ошибки помечено звездочками} end; превращается в procedure Register; begin RegisterComponents ('Cool!', [TCoolForm]); RegisterPropertyEditor (TypeInfo(TRegionType), TCoolform, 'Mask',**nil** ); {тут ошибка уже иправлена, но ее место показано, чтобы понять причину см. подсказку Automatic code completion(т.е откройте первую скобку и подождите, если ошибок в файле нет, то появится хинт)} end;