![]() |
Property vom Typ array?
Hi,
ich versuche gerade eine Property für eine Objektklasse zu erstellen, deren Datentyp ein Array ist. Es gelingt mir jedoch nicht, die Klasse zu deklarieren:
Delphi-Quellcode:
In der markierten Zeile kommt die Fehlermeldung: "Published Property 'Feld' cannot be of type ARRAY". Aber man muss doch propertys deklarieren können, die ein Array beinhalten. Beim StringGrid z.B. sind die Cells doch auch n Array, auf das man von außen zugreifen kann. Kann mit jemand helfen? Ich verwende Delphi 7.
type
TAtest=class(TObject) private function GetFeld(x: Integer): Double; protected public published property Feld[x:Integer]:Double read GetFeld; //hier tritt der Fehler auf end; |
Re: Property vom Typ array?
Diese Meldung bedeutet das ein Property vom Typ eines Arrays nicht im Published Teil erlaubt ist!! Also einfach in den Public teil verschieben, im Published Teil bringt es dir eh nix da du das Property im Objectinspektor nicht siehst.
|
Re: Property vom Typ array?
Hi und Willkommen in der DP ! :-D
Bin mir nicht sicher, aber wenn ich mich nicht irre müßte es mit TStringList oder Abkömmling möglich sein, eine "Ellipsenschaltfläche" in den OI zu bringen, in der man dann Werte auswählen könnte. Muß es unbedingt ein Array sein, dann wie gesagt mit Public. |
Re: Property vom Typ array?
@Hansa: Das liegt dann aber daran das es ein Object ist und kein Array-Property. In dem Falle wäre es allerdings auch möglich einfach das property ins public zu verschieben und einen ComponentEditor zu schreiben. Wenn du ein Object ins Published nimmst so müsstest du dafür ebenfalls einen Propertyeditor schreiben um das Property überhaupt ändern zu können.
|
Re: Property vom Typ array?
noch eine Alternative wäre eine Collection ;)
aenogym |
Re: Property vom Typ array?
@SirThornberry : wer eine Frage wie die hier stellt, für den müßte es machbar (zumindest in Reichweite) sein, einen "Property-Editor" zu schreiben.
Ich hasse übrigens solche hochtrabenden Wortschöpfungen. :mrgreen: Die schrecken nur ab. Was wird denn überhaupt gebraucht ? Lediglich eine Listbox zum Auswählen des Array-Wertes. Und da gibt es ein Klasse Delphi-Beispiel. Im Delphi-Verzeichnis irgendwo bei DEMOS. Weiß jetzt nicht genau, aber es war ein Ordner PropEdit und der komplette Source hatte ca. 300 Zeilen für alles, Deklarationen usw. Dieses Beispiel geht noch weit über das hier geforderte hinaus. Man kann damit einen Winkel mithilfe einer Trackbar vergrößern/verkleinern. Direkt in der IDE sichtbar ! Wer vor hat etwas tiefer in diese Materie einzusteigen, der muß sich das Ding unbedingt angucken und so lange dran rumpflücken, bis er weiß was da los ist. 8) Hexerei gibts in Delphi eben nicht. |
Re: Property vom Typ array?
Hallo,
ich versteh dieses ganze Gelaber nicht. Er hat doch eine ganz klare Frage gestellt. Warum gebt ihr ihm keine ebenso klare Antwort. Rainer |
Re: Property vom Typ array?
Die klaare Antwort gab es doch, es ist NICHT möglich im published Teil so ein Property zu deklarieren. Und ebenso hab ich geschrieben das er es einfach ins Public verschieben soll.
Allerdings haben wir uns gedanken gemacht warum er das property unbedingt ins published machen wollte und deswegen dann auch die alternativen. |
Re: Property vom Typ array?
Hallo Thornberry,
Zitat:
Designeditors usw liegen nur als Quellcode vor und sind voll von Fehlern. Also hab etwas Verständnis für die, die dir, einfach weil sie das Umfeld nicht haben, nicht folgen können. Rainer |
Re: Property vom Typ array?
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:23 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