Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi E2064 Der linken Seite kann nichts zugewiesen werden (https://www.delphipraxis.net/84776-e2064-der-linken-seite-kann-nichts-zugewiesen-werden.html)

Mik 21. Jan 2007 18:56


E2064 Der linken Seite kann nichts zugewiesen werden
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo alle miteinander.
Ich hab ein kleines Problem, und zwar muss ich bis morgen eine kleine, naja, Verkehrssimulation programmieren.
Allerdings bekomme ich ständig eine Fehlermeldung und finde die Ursache einfach nicht. Der Fehler trifft sowohl bei der Festlegung der Höhe als auch bei der Festlegung der Breite auf, wie man an den Zeilenangaben erkennt.
Ich hab einen Screenshot angehängt, hoffe mal, ihr könnt mir irgendwie helfen.

Danke schonmal im Vorraus

[edit=SirThornberry]Programmiersprache korrigiert und Bild angehangen - Mfg, SirThornberry[/edit]

Goldesel 21. Jan 2007 19:00

Re: E2064 Der linken Seite kann nichts zugewiesen werden
 
Ich denke, du hast einen Fehle bei der Deklaration der Variablen gemacht. Poste doch am betsen mal deinen kompletten Quelltext.

mkinzler 21. Jan 2007 19:02

Re: E2064 Der linken Seite kann nichts zugewiesen werden
 
Was für ein Typ hat meinBildschirm und wie ist dieser deklariert?

Mik 21. Jan 2007 19:11

Re: E2064 Der linken Seite kann nichts zugewiesen werden
 
Code:
{Bildschirm *******************************************************************}
type Bildschirm = class (TObject)

  public
    constructor init;
    procedure loescheAlles;
    function breite:GanzeZahl;
    function hoehe:GanzeZahl;
    destructor gibFrei;
  protected { Protected,da diese Methode nur in dieser Unit verfügbar sein soll}
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
end;
Das ist der Teil aus der Unit, in welcher die Klasse Bildschirm festgelegt ist.

Code:
interface

uses mUhr,mAmpel,mAuto,mListe,mSum;

    type TKreuzung = class

        private

           meinStift:Stift;
           meinBildschirm:Bildschirm;
           Auto1:TAuto;
           Ampel1:TAmpel;
           Ampel2:TAmpel;
           dieMaus:Maus;
           dieTastatur:Tastatur;

         public

           constructor init;
           destructor gibfrei;
           procedure zeichnen;
     end;

mkinzler 21. Jan 2007 19:13

Re: E2064 Der linken Seite kann nichts zugewiesen werden
 
Da breite und hoehe Funktionen sind, kannst du ihnen nichts zuweisen. Im Gegenteil sie geben was aus.

inherited 21. Jan 2007 19:22

Re: E2064 Der linken Seite kann nichts zugewiesen werden
 
Delphi-Quellcode:
{Bildschirm *******************************************************************}
type Bildschirm = class (TObject)

  public
    constructor init;
    procedure loescheAlles;
    function breite:GanzeZahl;
    function hoehe:GanzeZahl;
    destructor gibFrei;
  protected { Protected,da diese Methode nur in dieser Unit verfügbar sein soll}
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
end;
1.: Klassen haben normalerweise ein "T" vor dem namen
2. Der Constructor heisst normalerweise "Create"
3. hoehe und Breite sind Funktionen. Sie geben etwas aus und können keinen Wert annehmen
4. Was ist "GanzeZahl"?
5. destruktoren heißen normalerweise "Destroy"
6. Was bringt diese Procedure?

schuruluz 16. Mär 2007 09:51

Re: E2064 Der linken Seite kann nichts zugewiesen werden
 
Hallo ich hab eine ähnliche Frage:

Delphi-Quellcode:
const
   C_PARAM_DRI_DRA = '';

   function..
   begin
   C_PARAM_DRI_DRA := Methodenaufruf(Variable1, Variable2);
   end
Warum kommt dann die Mitteilung "Der linken Seite kann nichts zugewiesen werden"?
c_param_dri_dra ist ja nur eine konstante, die am anfang einen anfangswert bekommt :-/
Bei der Methode wird nachher ein Parameter aus einem INI-File geholt (mit Textboxen geht es auch).

Kann mir jemand helfen?


#Edit: Habe es mittlerweile herausgefunden. Danke trotzdem :stupid:

Kedariodakon 16. Mär 2007 10:16

Re: E2064 Der linken Seite kann nichts zugewiesen werden
 
Konstanten sind eigendlich nicht dafür da neu belegt zu werden...
Wenn man sowas machen möchte sollte man dann doch lieber eine Variable nehmen...

Aber wenn den Compilerschalter "Zuweisbare typisierte Konstanten" aktivierst, kannst du auch konstanten neue Werte zuweisen...

Bye Christian

h0815 27. Sep 2009 17:35

Re: E2064 Der linken Seite kann nichts zugewiesen werden
 
Delphi-Quellcode:
const
   C_PARAM_DRI_DRA = '';

   function..
   begin
   C_PARAM_DRI_DRA := Methodenaufruf(Variable1, Variable2);
   end
hier ist es einfach - ändern in:
Delphi-Quellcode:
const
   C_PARAM_DRI_DRA : string = '';

   function..
   begin
   C_PARAM_DRI_DRA := Methodenaufruf(Variable1, Variable2);
   end
dann geht es (normalerweise :) )

DeddyH 27. Sep 2009 17:37

Re: E2064 Der linken Seite kann nichts zugewiesen werden
 
Nach 2 1/2 Jahren dürfte sich das Problem erledigt haben :zwinker:


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:07 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 by Thomas Breitkreuz