AW: Set Konstanten einen Wert zuweisen
@himitsu
ja, man lernt nie aus. Mir war gar nicht klar, das hinter einem set ein Zahl steht. @Uwe Raabe das war nur mein Beispiel. Diese Eigenschaften werden je nach Bedarf einzeln gesetzt und entsprechend in Tag umgerechnet. Einen entsprechenden Helper habe ich auch - aber deutlich umständlicher arbeitend als dein Vorschlag - oder doch nicht - ich habe eine extra Klasse von tcomponent abgeleitet, die diese Arbeit übernimmt - eine TRichEditHelper = class helper for TRichEdit habe ich noch nie genutzt, weiß z.Zt. nicht einmal, wie anzuwenden. Das werde ich erst mal alles umarbeiten. Danke Uwe |
AW: Set Konstanten einen Wert zuweisen
Hallo Uwe Raabe,
bei mir kommen folgende Fehler im Helper
Delphi-Quellcode:
In getdockopts_UA kommt Fehler ungültige Typumwandlung (E2089),
TRichEditHelper = class helper for TRichEdit
private function GetDockOpts_UA: tDockOpts_UA; procedure SetDockOpts_UA(const Value: tDockOpts_UA); public property DockOpts_UA: tDockOpts_UA read GetDockOpts_UA write SetDockOpts_UA; end; function TRichEditHelper.GetDockOpts_UA: tDockOpts_UA; begin Result := tDockOpts_UA(Tag); end; procedure TRichEditHelper.SetDockOpts_UA(const Value: tDockOpts_UA); begin tag:=word(value) end; bei Setdockopts muß Value mit Word umgewandelt werden (nicht Integer - dann auch Fehler ungültige Typumwandlung (E2089)) Aber so arbeitet auch GetDockOpts_UA richtig
Delphi-Quellcode:
function TRichEditHelper.GetDockOpts_UA: tDockOpts_UA;
var DOo:word; begin DOo:=tag; Result := tDockOpts_UA(DOo); //oder Result := tDockOpts_UA(word(tag)); end; Nun muß ich noch Rauskriegen, wie man einen solchen helper anwendet - als Klasse läßt er sich nicht registrieren. Gruß Uwe |
AW: Set Konstanten einen Wert zuweisen
Zitat:
Delphi-Quellcode:
RichEdit1.DockOpts_UA := [DockBasicSize_UA];
|
AW: Set Konstanten einen Wert zuweisen
@Uwe Raabe
Habe die Anwendung eines Helpers inzwischen gelernt - praktisch. Werden eigentlich neue published Eigenschaften aus dem helper mit gespeichert z.B.
Delphi-Quellcode:
?
WriteComponentResFile(Filename,RicheditMitHelper_ua1);
Resümee für mich: Ein Set stellt auf komfortable Weise gesetzte Bits einer Zahl dar - und so habe ich auch die Zuordnung dieser Potenzen auf's Enum - Umwandlung erfolgt mit word(set). Damit konnte ich die etwas abenteuerliche Array-Konstante TagOpts2hochX_UA:array [tdockopt_UA]of integer = (1,2,4);//16,32,64,128,256,512,1024); abschaffen. Danke an alle für's mitdenken - Problem gelöst! Gruß Uwe |
AW: Set Konstanten einen Wert zuweisen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:35 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