![]() |
Zweidimensionales Array als Property
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:
Vielen Dank |
Re: Zweidimensionales Array als Property
Delphi-Quellcode:
Bei mehrdimensonalen Array's werden die einzelnen indezes einfach per Komma getrennt :)
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; |
Re: Zweidimensionales Array als Property
Zitat:
EDIT: Man, wie viele Rechtschreibfehler hast du denn da eingebaut. Und ich mit meinem Copy&Paste hab die nun auch drinnen gehabt. |
Re: Zweidimensionales Array als Property
Zitat:
Denke mal er wurde auch so verstanden. Sorry Offtopic gruss Emil |
Re: Zweidimensionales Array als Property
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 |
Re: Zweidimensionales Array als Property
@JPG
Rechtsschreibfehler hab ich keine, tippe immer beiden Händen :mrgreen: @jott Da hast du natürlich recht. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:28 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