AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

propertyeditor wird nicht auf klasse angewendet

Ein Thema von snook · begonnen am 4. Feb 2011 · letzter Beitrag vom 7. Feb 2011
 
snook

Registriert seit: 25. Jun 2010
94 Beiträge
 
Delphi 2005 Professional
 
#1

propertyeditor wird nicht auf klasse angewendet

  Alt 4. Feb 2011, 13:29
heee,

kann mir einer sagen, warum der proerty editor einfach nicht funktionieren will? ich kann das package mit dem editor, als auch das package mit der komponente kompilieren, aber egal was ich mit dem editor und auch der funktion GetAttributes anstelle, ich kriege nur die standard funktionen im OI, so als ob der editor einfach nicht rgistriert wird

die komponenete:
Delphi-Quellcode:
type
  TDataComClient = class(TComponent)
  private
    { Private-Deklarationen }
    FDataChannels: TDataCHannelList;
  protected
    { Protected-Deklarationen }
  public
    { Public-Deklarationen }
  published
    { Published-Deklarationen }
    constructor Create(AOwner: TComponent); override;
    property DataChannels: TDataChannelList read FDataChannels write FDataChannels;
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('Klaus', [TDataComClient]);
end;

{ TDataComClient }

constructor TDataComClient.Create(AOwner: TComponent);
begin
  inherited;
  FDataChannels := TDataChannelList.Create(self);
end;
der editor:

Delphi-Quellcode:
type
  TDataChannelsProperty = class(TPropertyEditor)
  private
    FDataChannelDialog: TDataChannelDialog;
    procedure ChannelListToList(DataChannels: TDataChannelList; var AList: TList); overload;
    procedure ListToChannelList(DataChannels: TList; var AList: TDataChannelList); overload;
  public
    function GetAttributes: TPropertyAttributes; override;
    procedure Edit; override;
  end;

procedure TDataChannelsProperty.Edit;
var DataChannelList: TDataChannelList;
    Dlg : TDataChannelDialog;
    LList : TList;
begin
  inherited;
  try
    DataChannelList := TDataChannelList(GetOrdValue);
    ChannelListToList(DataChannelList,LList);
    Dlg := TDataChannelDialog.Create(LList, DataChannelList.Owner.Owner,nil);
    if Dlg.Execute then LList.Assign(Dlg.DataChannels);
    ListToChannelList(LList,DataChannelList);
    SetOrdValue(LongInt(DataChannelList));
  finally
    Dlg.Free;
    LList.Free;
  end;
end;

function TDataChannelsProperty.GetAttributes: TPropertyAttributes;
begin
  Result := inherited GetAttributes + [paDialog];
end;
//edit
achso, die klasse um die es geht, TDataChannelList ist von TPersistent abgeleitet und verwaltet eine Stringlist
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:13 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz