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;