Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Problem beim erstellen eines Arrays (https://www.delphipraxis.net/81157-problem-beim-erstellen-eines-arrays.html)

PinKing 21. Nov 2006 17:57


Problem beim erstellen eines Arrays
 
schönen guten Abend,
ich sitz hier gerade an einem Schulprojekt und bin am Rande der Verzweiflung. Bin noch recht unsicher auf dem Gebiet und halb wohl auch nur die hälfte verstanden die im Unterricht rangekommen ist. Gerade ärgert mich Delphi mit folgendem Problem. Ich deklariere eine Variable(hieß das so??), sodass sie aus einem Array besteht mit einem selbstdefinierten Typen.

Delphi-Quellcode:
type
 .
 .

  private
  .
  .
  public //Methoden
  TProduktliste : array [1..10] of TProduktlistenglied;
end;

VAR

  Produktliste : TProduktliste;
Und genau am Ende haut er mir einen Fehler raus: [Error] mRegal.pas(29): Undeclared identifier: 'TProduktliste'
Aber ich habe ihm doch vorher gesagt was TProduktliste sein soll, eigentlich...
Ich hoffe ihr könnt mir helfen.

lg
PinKing

St.Pauli 21. Nov 2006 18:07

Re: Problem beim erstellen eines Arrays
 
Ich weiss ja nicht was du mit dem Code bezwecken willst, aber du hast

Delphi-Quellcode:
TProduktliste : array [1..10] of TProduktlistenglied;
in einer Klasse deklariert. Das heißt, du hast nur ein Array mit dem Namen TProduktliste in deiner Klasse und definierst keinen Typ.

Wenn du ein Typ definieren willst, musst du folgenden Code verwenden

Delphi-Quellcode:
type
  TProduktliste = array [1..10] of TProduktlistenglied;

var
  Produktliste: TProduktliste;
Sollte klappen... :wink:

PinKing 21. Nov 2006 18:44

Re: Problem beim erstellen eines Arrays
 
klappt leider nicht, er stört sich an dem = , und verlangt stattdessen

Delphi-Quellcode:
type
  TExemplarliste : array [1..10] of TProduktexemplar;
aber dann haut er mir wieder an der selben stelle wie vorhin den selben Fehler raus.
Die Frage was ich bezwecken will ist gut...ähm also unser Lehrer wollte mit uns ein Supermarktmodell programmieren.
Ich glaub er hat irgendwie gesagt die Aufgabe hat er aus irgendnem wettbewerb für Informatik oder so.
Der Ausschnitt ist halt von einem Lagerplatz. Jeder lagerplatz hat eine Produktliste was in ihm enthalten ist. Die Produktliste besteht aus einzelnen Produktlistengliedern in dennen weitere Informationen gespeichert sind. Wobei Produktlistenglieder eine eigne Klasse sind. Naja irgendwie so^^.
Aber mir gehts auch um dieses vermaldeiten Fehler der nich rausgehen will, die Delphohilfe, ist nicht wirklich eine Hilfe, oder ich kann damit einfach nicht umgehen^^.

Pin

Klaus01 21. Nov 2006 19:42

Re: Problem beim erstellen eines Arrays
 
Guten Abend,

hast denn Du schon irgendwo TProduktexemplar deklariert?

Grüße
Klaus

PinKing 21. Nov 2006 19:44

Re: Problem beim erstellen eines Arrays
 
ja das geschieht in einer anderen Unit(mProduktexemplar):

Delphi-Quellcode:
type
  TProduktexemplar = class(TProdukttyp)

in der unit wo der Fehler auftaucht habe ich mProduktexemplar mit in die uses-liste genommen.

Klaus01 21. Nov 2006 20:27

Re: Problem beim erstellen eines Arrays
 
Delphi-Quellcode:
Unit Test


Interface

type
  TProduktliste = array [1..10] of TProduktlistenglied;

var
  Produktliste: TProduktliste;

Implementation

...
Seit Pascal werden Typen mit = geschrieben,
also TypeName = TypDeklaration.

Warum das bei Dir nicht so ist, ist mit unbegreiflich.
Was für eine Fehlermeldung bekommst Du denn wenn Du die Typdefinition mit = schreibst?

Grüße
Klaus

PinKing 21. Nov 2006 20:48

Re: Problem beim erstellen eines Arrays
 
er schreibt mir:
"Expected ':' but '=' found."

also hab grad mit jemandem im IRC geschrieben, er meinte ich soll die zweite Zeile einfach weglassen und halt stattdessen:
Delphi-Quellcode:
  Produktliste = array [1..10] of TProduktlistenglied;
und dann mit "Produktliste" arbeiten. Ich bin mir zwar ziemlich sicher das wir im unterricht erst in einer Zeile das oben genannte gemacht haben, und in einer späteren dann die Variable erstellt(wie heißt das eigentlich richtig..deklarier??) aber es geht auch so...

St.Pauli 22. Nov 2006 14:57

Re: Problem beim erstellen eines Arrays
 
Der Fehler war, weil die Compiler an der Stelle, wo du einen Typen definieren wolltest, eine Variable erwartete. So wie dein Quelltext aussieht hattest du deinen Typen in einer Klasse definiert.

Also entweder du machst

Delphi-Quellcode:
type
  TKlasse = class(TObject)
  public    
    type
      TProduktliste = array [1..10] of TProduktexemplar;
  end;

var
  x: TKlasse.TProduktliste;
oder du machst

Delphi-Quellcode:
type
  TKlasse = class(TObject)
   ...
  end;

  TProduktliste = array [1..10] of TProduktexemplar;

var
  x: TProduktliste;

PinKing 24. Nov 2006 14:30

Re: Problem beim erstellen eines Arrays
 
vielendanke
es hat geholfen :)

leider kann ich nun nichtmehr auf meine daten zugreifen da er mir beim zugriff ein fehler raushaut das die daten nicht gelesen werden können ;(
aber was solls, beim zweiten mal geht alles schneller *gg*

PinKing


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:22 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