![]() |
Problem mit in Komponente gerkapseltem Array
Hallo,
habe Problem mit privat gekapselten Arrays einer Komponente
Delphi-Quellcode:
wenn ich im Hauptprogramm die Funktion Plan aufrufe,
unit MyKomponente;
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //+ Komponente TMyKomponente //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ interface uses SysUtils,Classes, Controls, ExtCtrls, Graphics; type TFilm:array[1..10,1..10] of single; TEichPlan = class(TPaintBox) private pPlan : TFilm; function getPlan : TFilm; procedure setPlan(Wert:TFilm); protected public published property Plan : TFilm Read GetPlan Write SetPlan; ... { Published-Deklarationen } end; ... //############################################################################## implementation //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ function TEichPlan.getPlan : TFilm; begin Result:=pPlan; end; procedure TEichPlan.setPlan(Wert:TFilm); begin pPlan:=Wert; end; //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ...
Delphi-Quellcode:
bekomme ich den Compiler-Fehler: "Der linken Seite ksnn nichts zugewiesen werden."
// Hauptprogramm
type TForm1=class(TForm): MyKomponente:TMyKomponente var Form1:Form1; ... implementation ... MyKomponente1.Plan[1,1]:=11; ... Was habe ich da falsch gemacht? Danke E. B. |
Re: Problem mit in Komponente gerkapseltem Array
Hallo, und wie verhält es sich, wenn man anstelle eines Arrays ein Record verwender?
Danke E. B. |
Re: Problem mit in Komponente gerkapseltem Array
Hab gerade etwa das selbe Problem :( ...
|
Re: Problem mit in Komponente gerkapseltem Array
|
Re: Problem mit in Komponente gerkapseltem Array
Hi Leute,
soweit ich mich entsinnen kann, ist es nicht möglich ein Array published zu deklarieren. Das geht nur public und ist dann soweit richtig. published ist dann besser mit set's zu arbeiten, wenn es denn geht. gruß oki |
Re: Problem mit in Komponente gerkapseltem Array
Hallo oki,
Zitat:
Gruß Hawkeye |
Re: Problem mit in Komponente gerkapseltem Array
Zitat:
Delphi-Quellcode:
Keine Fehlermeldung, durchkompiliert, alles easy und so mach ich das immer wenn es mal sein muß (was zugegeben recht selten ist).
type
TMyArrTyp = Array of Integer; type TForm1 = class(TForm) private FParam1: TMyArrTyp; { Private-Deklarationen } public { Public-Deklarationen } property Param1 : TMyArrTyp read FParam1 write FParam1; end; Es spricht natürlich nichts gegen deinen Link. Ich persönlich mag das Thema Zeiger nicht so, da muß man immer so aufpassen :stupid: . gruß oki |
Re: Problem mit in Komponente gerkapseltem Array
Moin E.B.,
probier's mal so:
Delphi-Quellcode:
type
TFilm = array[1..10,1..10] of single; TEichPlan = class(TPaintBox) private pPlan : TFilm; function GetPlan(x, y: integer): single; procedure SetPlan(x, y: integer; const Value: single); protected public property Plan[x : integer;y : integer] : single Read GetPlan Write SetPlan; end; implementation function TEichPlan.GetPlan(x, y: integer): single; begin Result := pPlan[x,y]; end; procedure TEichPlan.SetPlan(x, y: integer; const Value: single); begin pPlan[x,y] := Value; end; |
Re: Problem mit in Komponente gerkapseltem Array
Hi Hawkeye219,
muß mich grad mal bei dir entschuldigen. Hab hier wohl einiges übersehen. Es währe schön gewesen, wenn der Rest des Code in Ordnung gewesen wäre. Hier nicht ":" sondern "=" und Property in Public deklariert.
Delphi-Quellcode:
So bin ich gleich mal über die offensichtlichen Fehler gestolpert und habe das eigentliche Problem etwas übersehen.
TFilm:array[1..10,1..10] of single;
... published property Plan : TFilm Read GetPlan Write SetPlan; Nach dem ich den Link gründlich gelesen habe nehme ich alle meine schändlichen Bemerkungen zurück und werde uneingeschränkter Fan von Hawkeye219's Aussage. Das Thema Zeiger ist dabei eher eine weiterführende Sache. Grundlegend beschreibt dieser Link das Problem aber sehr gut und ausreichend. gruß oki |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:10 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