AGB  ·  Datenschutz  ·  Impressum  







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

Array of Byte als Property

Ein Thema von Helmi · begonnen am 5. Apr 2009 · letzter Beitrag vom 5. Apr 2009
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.323 Beiträge
 
Delphi XE2 Professional
 
#1

Array of Byte als Property

  Alt 5. Apr 2009, 12:25
Hallo,

in meinem Projekt werden Forms die zur Einstellung oder auch zur Ausgabe von Informationen dienen mittels properties mit Daten versorgt.
Nun möchte ich eine Property aufbauen, der ein Array of Byte übergeben werden kann.
Nur leider bekomm ich vom Compiler folgende Meldung um die Ohren gehauen:
Zitat:
[Fehler] InfoUnit.pas(46): Published-Eigenschaft 'Eingabe_Array_IDS' kann nicht vom Typ ARRAY sein
Meine Unit ist so aufgebaut:

Delphi-Quellcode:
type
  TArray_IDS = Array[1..255] of Byte;

  TInfoForm = class(TForm)
{ ... }
  private
    { Private-Deklarationen }
    //Eingabe
    FEingabe_SPLChecksumme: String;
    FEingabe_Array_IDS : TArray_IDS;

    //Ausgabe

    //intern
  public
    { Public-Deklarationen }
    function Execute: Boolean;
  published
    { Published-Deklarationen }

    //Eingabe
    property Eingabe_SPLCheckSumme: String write FEingabe_SPLChecksumme;
    property Eingabe_Array_IDS : TArray_IDS write FEingabe_Array_IDS;
Wie kann ich ein Array als Property übergeben?
Falls es keine Lösung dafür gibt, gibts vielleicht eine andere Möglichkeit dazu?
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#2

Re: Array of Byte als Property

  Alt 5. Apr 2009, 12:28
Zitat von Helmi:
Wie kann ich ein Array als Property übergeben?
Nein, wie der Compiler schon sagt:

Zitat:
[Fehler] InfoUnit.pas(46): Published-Eigenschaft 'Eingabe_Array_IDS' kann nicht vom Typ ARRAY sein
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.580 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Array of Byte als Property

  Alt 5. Apr 2009, 12:31
Da das Array ohnehin fest ist, könntest du eine Array-Property benutzen, bei der du die Eigenschaft selbst wie ein Array nutzt. Ob das sinnvoll ist in deinem Fall, weiß ich nicht.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.323 Beiträge
 
Delphi XE2 Professional
 
#4

Re: Array of Byte als Property

  Alt 5. Apr 2009, 12:33
Was ich vorhab ist, maximal 256 Werte zu übergeben
(Ja im Quelltext oben steht 255 - Fehler von mir)

Gibts da eine andere Lösung?
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von mleyen
mleyen

Registriert seit: 10. Aug 2007
609 Beiträge
 
FreePascal / Lazarus
 
#5

Re: Array of Byte als Property

  Alt 5. Apr 2009, 12:34
Zitat von Helmi:
Wie kann ich ein Array als Property übergeben?
Nimm es aus Published raus und pack es ins Public.
  Mit Zitat antworten Zitat
Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Array of Byte als Property

  Alt 5. Apr 2009, 12:39
Er will es ja im OI haben, denke ich?

Klappt es, wenn das Array eine Klasse ist? (ungetestet):
Delphi-Quellcode:
  TArray_IDS = class
    FValues : array[0..255] of Byte;
  private
    function GetValue(index: Integer): Byte;
    procedure SetValue(index: Integer; const Value: Byte);
  public
    property Values[index: Integer]: Byte Read GetValue Write SetValue; default;
  end;
In TInfoForm dann die Klasse als published deklarieren... extra eine Komponente basteln war mir aber jetzt zuviel zum Testen.
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.323 Beiträge
 
Delphi XE2 Professional
 
#7

Re: Array of Byte als Property

  Alt 5. Apr 2009, 12:40
Nein nein - im OI brauch ich es nicht...
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#8

Re: Array of Byte als Property

  Alt 5. Apr 2009, 12:41
Dann reicht ja was mleyen gesagt hat, public sollte reichen. Denke das array-verbot hängt ja auch nur mit dem OI zusammen?
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.323 Beiträge
 
Delphi XE2 Professional
 
#9

Re: Array of Byte als Property

  Alt 5. Apr 2009, 12:50
In Public hats funktioniert.

Danke!
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von mleyen
mleyen

Registriert seit: 10. Aug 2007
609 Beiträge
 
FreePascal / Lazarus
 
#10

Re: Array of Byte als Property

  Alt 5. Apr 2009, 12:51
Es wäre doch wahnsinnig 256 Byte-Werte einzelnd im OI zu setzen.

Zitat von Satty67:
Denke das array-verbot hängt ja auch nur mit dem OI zusammen?
Ich denke mal ja, aber wenn ich das im OI haben wollte würde ich TStrings nehmen (für Copy&Paste) und im Setter dann prüfen ob alle Strings in Byte-Werte konventiert werden können.

Freut mich das es klappt.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 02:37 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