AGB  ·  Datenschutz  ·  Impressum  







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

Zweidimensionales Array als Property

Ein Thema von Viktorii · begonnen am 3. Jun 2008 · letzter Beitrag vom 3. Jun 2008
Antwort Antwort
Viktorii

Registriert seit: 19. Jul 2007
358 Beiträge
 
#1

Zweidimensionales Array als Property

  Alt 3. Jun 2008, 11:05
Hallo,
ich möchte gerne die Werte eines zweidimensionalen Arrays über ein Property setzen und lesen. So habe ich es versucht:

Delphi-Quellcode:
...
...

  private
    function GetaPipeHandles(iIndex, jIndex: Integer): USB_PIPE_HANDLE;
    procedure SetaPipeHandles(iIndex, jIndex: Integer; const Value: USB_PIPE_HANDLE);
  public
    property aPipeHandles[iIndex: Integer; jIndex :Integer] : USB_PIPE_HANDLE read GetaPipeHandles write SetaPipeHandles;

...
...

function TNotifyUSB.GetaPipeHandles(iIndex, jIndex: Integer): USB_PIPE_HANDLE;
begin
  Result := aPipeHandles[iIndex][jIndex]; // Fehler hier
end;


procedure TNotifyUSB.SetaPipeHandles(iIndex, jIndex: Integer;
  const Value: USB_PIPE_HANDLE);
begin
  aPipeHandles[iIndex][jIndex] := Value; // und Fehler hier
end;

Es treten beim Compilieren zwei Fehler auf

Zitat:
[Pascal Fehler] USB_NotifyUSB.pas(124): E2035 Nicht genügend wirkliche Parameter
[Pascal Fehler] USB_NotifyUSB.pas(147): E2035 Nicht genügend wirkliche Parameter
Wie mache ich es richtig? Leider habe ich zu zweidimensionalen Arrays und propertys nichts finden können

Vielen Dank
  Mit Zitat antworten Zitat
Ghostwalker

Registriert seit: 16. Jun 2003
Ort: Schönwald
1.299 Beiträge
 
Delphi 10.3 Rio
 
#2

Re: Zweidimensionales Array als Property

  Alt 3. Jun 2008, 11:11
Delphi-Quellcode:
function TNotifyUSB.GetaPipeHandles(iIndex, jIndex: Integer): USB_PIPE_HANDLE;
begin
  Result := aPipeHandles[iIndex,jIndex]; //so past dat :)
end;


procedure TNotifyUSB.SetaPipeHandles(iIndex, jIndex: Integer;
  const Value: USB_PIPE_HANDLE);
begin
  aPipeHandles[iIndex,jIndex] := Value; //so past dat :)
end;
Bei mehrdimensonalen Array's werden die einzelnen indezes einfach per Komma getrennt
Uwe
e=mc² or energy = milk * coffee²
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.481 Beiträge
 
Delphi 10.1 Berlin Professional
 
#3

Re: Zweidimensionales Array als Property

  Alt 3. Jun 2008, 11:39
Zitat von Ghostwalker:
Bei mehrdimensonalen Array's werden die einzelnen indezes einfach per Komma getrennt
Das ist so nicht richtig. Bei mehrdimensionalen property Arrays werden die einzelnen Indizes einfach per Komma getrennt. Bei normalen mehrdimensionalen Arrays kann man sich die Schreibweise aussuchen.


EDIT: Man, wie viele Rechtschreibfehler hast du denn da eingebaut. Und ich mit meinem Copy&Paste hab die nun auch drinnen gehabt.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#4

Re: Zweidimensionales Array als Property

  Alt 3. Jun 2008, 11:53
Zitat:
Man, wie viele Rechtschreibfehler hast du denn da eingebaut. Und ich mit meinem Copy&Paste hab die nun auch drinnen gehabt.
Er steht zumindest dazu und editiert sie nicht
Denke mal er wurde auch so verstanden.

Sorry Offtopic

gruss Emil
  Mit Zitat antworten Zitat
jottkaerr

Registriert seit: 2. Jul 2007
Ort: Tuttlingen
81 Beiträge
 
Delphi 10.1 Berlin Professional
 
#5

Re: Zweidimensionales Array als Property

  Alt 3. Jun 2008, 12:12
Sowohl die ursprüngliche, fehlerhafte als auch die korrigierte Version führen zu Stack-Überläufen, da sie Rekursionen ohne Abbruchbedingungen sind. In Getter und Setter solltest Du nicht erneut auf das Property zugreifen, sondern z.B. auf das zugrundeliegende Feld FaPipeHandles.

jkr
Jürgen Krämer
Sometimes I think the surest sign that intelligent life exists elsewhere
in the universe is that none of it has tried to contact us. (Calvin)
  Mit Zitat antworten Zitat
Ghostwalker

Registriert seit: 16. Jun 2003
Ort: Schönwald
1.299 Beiträge
 
Delphi 10.3 Rio
 
#6

Re: Zweidimensionales Array als Property

  Alt 3. Jun 2008, 13:44
@JPG

Rechtsschreibfehler hab ich keine, tippe immer beiden Händen

@jott

Da hast du natürlich recht.
Uwe
e=mc² or energy = milk * coffee²
  Mit Zitat antworten Zitat
Antwort Antwort


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 14:16 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