Editor de propriedades

Delphi

06/12/2007

Já tentei de tudo, li artigos, segui exemplos, mas já estou até começando a duvidar que esse ´troço´ funcione.
Criei um editor para a propriedade ´ListField´ que é do tipo TStringList. Nesse editor eu informo nas Edits o nome do Campo e o Apelido do mesmo e o editor retorna para a StringList no formato ´NomedoCampo/Apelido´. Mas acontece que na verdade não acontece, o editor não é mostrado quando clico nas [...], o que é mostrado é o editor padrão de TStrings.
Abaixo está o código do editor, peços por favor que avaliem no que estou errando, pois já perdi as esperanças ...


unit unListFieldEditor;

interface
uses Classes, DesignEditors, DesignIntf, Forms, Controls, FindDialog;

Type
  TListFieldProperty = class(TPropertyEditor)
  public
    procedure Edit; override;
    function GetAttributes: TPropertyAttributes; override;
  end;
 procedure register;
implementation

uses unPEListField;

{ TListFieldProperty }

procedure TListFieldProperty.Edit;
Var i : Integer;
begin
  inherited;
  with TfmPEListField.Create(Application) do
    begin
      ListBox1.Items.Text:= GetStrValue;
      ShowModal;
      if ModalResult = mrOK then
        SetStrValue(ListBox1.Items.Text);
    end;
end;

function TListFieldProperty.GetAttributes: TPropertyAttributes;
begin
  Result := inherited GetAttributes + [paDialog];
end;

procedure register;
begin
  RegisterPropertyEditor(TypeInfo(TStrings), TFindDialog, ´ListField´, TListFieldProperty);
end;

end.



Brener Leão

Brener Leão

Curtidas 0

Respostas

Giordanocwb

Giordanocwb

06/12/2007

Repare que a sua ´procedure register´ está com a palavra ´register´ em minúsculo. Esse é um dos poucos casos dentro do Delphi, onde faz diferença maiúsculas e minúsculas.

Use ´procedure Register´, com o R maiúsculo que deve resolver o seu problema.

T+


GOSTEI 0
Brener Leão

Brener Leão

06/12/2007

Funcionou....
muito obrigado por essa grande dica, pois eu não iria descobrir nunca.


GOSTEI 0
Sistemald

Sistemald

06/12/2007

Rapaz,

que podreira, essa do maiusculo é foda.

a linguagem não case insensitive?


GOSTEI 0
Techsoft

Techsoft

06/12/2007

Rapaz, que podreira, essa do maiusculo é foda. a linguagem não case insensitive?


Sim, o Delphi é case insensitive, mas o Register é um comando do windows, e este é feito em C e este sim é case sensitive, esta é a razão de Register ser case sensitive, aliás, é a única palavra no delphi que é case sensitive.


GOSTEI 0
POSTAR