Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Property vom Typ array? (https://www.delphipraxis.net/54459-property-vom-typ-array.html)

Meneldur 4. Okt 2005 20:50


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:
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;
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.

SirThornberry 4. Okt 2005 21:10

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.

Hansa 4. Okt 2005 21:14

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.

SirThornberry 4. Okt 2005 21:17

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.

Aenogym 4. Okt 2005 21:17

Re: Property vom Typ array?
 
noch eine Alternative wäre eine Collection ;)

aenogym

Hansa 4. Okt 2005 23:37

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.

runger 5. Okt 2005 05:38

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

SirThornberry 5. Okt 2005 06:11

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.

runger 5. Okt 2005 07:29

Re: Property vom Typ array?
 
Hallo Thornberry,

Zitat:

@SirThornberry : wer eine Frage wie die hier stellt, für den müßte es machbar (zumindest in Reichweite) sein, einen "Property-Editor" zu schreiben.
Mir ist es zum Beispiel nicht möglich, aber nicht weil ich das nicht kann, sondern weil mir die Units in D7 profesional nicht zugänglich sind.
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

Hansa 5. Okt 2005 11:40

Re: Property vom Typ array?
 
Zitat:

Zitat von runger
..nicht weil ich das nicht kann, sondern weil mir die Units in D7 profesional nicht zugänglich sind.
Designeditors usw liegen nur als Quellcode vor und sind voll von Fehlern.
...

Hehe, was nicht haben und behaupten es sei voller Fehler. 8) Wie man leicht aus der Fragestellung am Anfang sehen kann, wollte er/sie das Array als published deklarieren -> OI. Da die Analogie zum Stringgrid erwähnt wurde : dort dind die Items Stringlisten. Daher mein Vorschlag, auch eine TStringlist zu verwenden anstatt eines Arrays. Dann könnte man es genau so machen wie beim Stringgrid. Und SirThornberry hat die Alternative gebracht, es eben ohne OI zu machen. Kapito ?


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:21 Uhr.
Seite 1 von 3  1 23      

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