Componentes - resolvendo problemas com o DsgnIntf (designIntF) |
Top Previous Next |
Alguns componentes utilizam o dsgnintf.pas mas no D6 ela é substituida por DesignEditors que usa a unit Proxies.pas que não vem com o D6. como compilar os componentes que usam esta?
---
Não existe realmente a Proxies.pas. Para resolver o problema deve adicionar à package do seu componentes a unit "designide.dcp" que está em Delphi\Lib\ Esta deve ser adicionada na parte de "Requires" da package. Alem disso no uses voce deve trocar o "dsgnintf" por "DesignIntF, DesignEditors"
---
Ainda tem outro detalhe. voce deverá criar uma unit separada da unit de seu componente e nela fazer asd definições do Editor de Propriedades, ou seja a unit de seu componente não deve ter acesso direto as units DesignIntf e DesignEditors, senão ela vai pedir o Proxies.pas. Basicamente ficaria assim a unit adicional:
unit X;
interface
uses Isto, Aquilo, DesignIntF, DesignEditors;
type TFillTypeEditor=Class(TStringProperty) public function GetAttributes:TPropertyAttributes;override; procedure GetValues(Proc:TGetStrProc);override; end;
procedure Register;
implementation
procedure Register; begin RegisterPropertyEditor(TypeInfo(String),TFormFill,'FillType',TFillTypeEditor); end; |