AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Problem mit in Komponente gerkapseltem Array
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit in Komponente gerkapseltem Array

Ein Thema von EccoBravo · begonnen am 23. Mär 2006 · letzter Beitrag vom 23. Sep 2006
Antwort Antwort
Benutzerbild von EccoBravo
EccoBravo

Registriert seit: 19. Okt 2004
Ort: Neuruppin
524 Beiträge
 
Delphi 2007 Architect
 
#1

Problem mit in Komponente gerkapseltem Array

  Alt 23. Mär 2006, 14:27
Hallo,

habe Problem mit privat gekapselten Arrays einer Komponente

Delphi-Quellcode:
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;
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

...
wenn ich im Hauptprogramm die Funktion Plan aufrufe,

Delphi-Quellcode:
// Hauptprogramm
type
    TForm1=class(TForm):
       MyKomponente:TMyKomponente
var
   Form1:Form1;
...

implementation

...
  MyKomponente1.Plan[1,1]:=11;
...
bekomme ich den Compiler-Fehler: "Der linken Seite ksnn nichts zugewiesen werden."

Was habe ich da falsch gemacht?

Danke

E. B.
  Mit Zitat antworten Zitat
Benutzerbild von EccoBravo
EccoBravo

Registriert seit: 19. Okt 2004
Ort: Neuruppin
524 Beiträge
 
Delphi 2007 Architect
 
#2

Re: Problem mit in Komponente gerkapseltem Array

  Alt 23. Mär 2006, 14:55
Hallo, und wie verhält es sich, wenn man anstelle eines Arrays ein Record verwender?

Danke

E. B.
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

Re: Problem mit in Komponente gerkapseltem Array

  Alt 22. Sep 2006, 15:18
Hab gerade etwa das selbe Problem ...
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#4

Re: Problem mit in Komponente gerkapseltem Array

  Alt 22. Sep 2006, 15:38
Hallo Michael,

vielleicht hilft dir dieser Thread.

Gruß Hawkeye
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#5

Re: Problem mit in Komponente gerkapseltem Array

  Alt 22. Sep 2006, 15:52
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
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#6

Re: Problem mit in Komponente gerkapseltem Array

  Alt 22. Sep 2006, 16:07
Hallo oki,

Zitat von oki:
soweit ich mich entsinnen kann, ist es nicht möglich ein Array published zu deklarieren. Das geht nur public und ist dann soweit richtig.
Du hast Recht, published deklarierte Arrays sind nicht möglich. Ich habe die Direktive glatt übersehen. Eine Änderung auf "public" würde aber den gleichen Fehler provozieren. In dem von mir verlinkten Thread wird ein Ausweg beschrieben, der mit einem Zeiger arbeitet.

Gruß Hawkeye
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#7

Re: Problem mit in Komponente gerkapseltem Array

  Alt 23. Sep 2006, 12:08
Zitat von Hawkeye219:
Eine Änderung auf "public" würde aber den gleichen Fehler provozieren.
Gruß Hawkeye
Also das versteh ich nicht. Ich hab grad folgendes probiert:
Delphi-Quellcode:
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;
Keine Fehlermeldung, durchkompiliert, alles easy und so mach ich das immer wenn es mal sein muß (was zugegeben recht selten ist).

Es spricht natürlich nichts gegen deinen Link. Ich persönlich mag das Thema Zeiger nicht so, da muß man immer so aufpassen .

gruß oki
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Problem mit in Komponente gerkapseltem Array

  Alt 23. Sep 2006, 12:22
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;
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#9

Re: Problem mit in Komponente gerkapseltem Array

  Alt 23. Sep 2006, 12:27
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:
  TFilm:array[1..10,1..10] of single;
...
  published
     property Plan : TFilm Read GetPlan Write SetPlan;
So bin ich gleich mal über die offensichtlichen Fehler gestolpert und habe das eigentliche Problem etwas übersehen.
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
  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 00:55 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