![]() |
Record in Komponente
Hi
Ich hab folgende Komponente + Record:
Delphi-Quellcode:
Wenn ich nun folgendes Versuche:
type
TProcessDescription = packed Record pdDraw : boolean; pdHeight : byte; pdColor : TColor; pdDrawBackground : boolean; pdFont : TFont; end; TMeinKompo = class(TPanel) private { Private declarations } FProzDesc : TProcessDescription; procedure SetProzDesc(Value : TProcessDescription); public { Public declarations } property ProzDesc : TProcessDescription read FProzDesc write SetProzDesc; end; //... procedure TMeinKompo.SetProzDesc(Value : TProcessDescription); begin if not(CompareMem(@Value, @FProzDesc, sizeof(Value))) then FProzDesc := Value; end;
Delphi-Quellcode:
Kommt das der Linken Seite nichts zugewiesen kann. Woran liegt das kann ich nicht direkt in den Record schreiben oder habe ich was falsch deklariert?
var test : TMeinKompo;
begin test := TMeinKompo.Create(Form1); test.ProzDesc.pdDraw := true; end; |
Re: Record in Komponente
Du kannst nicht direkt in einen Record schreiben, der ein Property ist. Kannst es nur über einen temporären Record lösen.
|
Re: Record in Komponente
Argh, naja ok trotzdem danke! :cry:
|
Re: Record in Komponente
Ach noch was dann dazu:
Kann ich meinen Record auch mit Vordefinierten Werten initialisieren, dh wenn man sich ne Instanz davon erstellt das Height zb. 10 ist oder so? |
Re: Record in Komponente
Zitat:
|
Re: Record in Komponente
dann müsste ich den Record aber doch in eine Klasse packen oder?
Ich kann doch nicht proceduren in ein Record eintragen? Oder ich stehe mal wieder auf dem Schlauch :wall: PS: sagts mir wenn ich stuss schreibe |
Re: Record in Komponente
Er meinte im OnCreate der Komponente... ;)
|
Re: Record in Komponente
Hä? jetzt bin ich ganz verwirrt :gruebel:
Was hat die Kompontente denn damit zu tun wenn ich mir einfach nur eine neue Instanz des Record mache:
Delphi-Quellcode:
Sodas der Record mit zb 10 und nicht mit 0 initialisiert ist? Oder hab ich da was falsch verstanden? :gruebel:
var myrecord : TProcessDescription;
begin myrecord.pdHeight //Ist zu diesem Zeitpunkt 0 end; |
Re: Record in Komponente
Hi.
Nimm eine Klasse, dann geht das... :wink: Bei Records gibts kein Create... |
Re: Record in Komponente
soweit ich weiss ist folgendes auch erlaubt:
Delphi-Quellcode:
TDings = record
Di: Integer = 5; Del: String = 'abc'; Dumm: Integer = 15000; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:48 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz