AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Mehrere Records verschachteln

Ein Thema von Bee · begonnen am 4. Jan 2003 · letzter Beitrag vom 5. Jan 2003
Antwort Antwort
Seite 1 von 2  1 2      
Bee

Registriert seit: 27. Dez 2002
Ort: Giengen
8 Beiträge
 
Delphi 6 Personal
 
#1

Mehrere Records verschachteln

  Alt 4. Jan 2003, 21:52
Und zwar habe ich eine Frage, was ist am untenstehenden Code flasch?
Die Arrays sollen Dynamisch werden, zum anderen bekomme ich eine Meldung Das ich die 2GB grenze überschritten habe, kann man das auch anders lösen.
Code:
 type
  TForm1 = class(TForm)
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;
  TPreset = record
   Name: String;
   Choice: char;
   Value: array [] of Byte;
  end;
  TChannel = record
   Name: String;
   Choice: char;
   Min: Byte;
   Max: Byte;
   Is16Bit: Boolean;
  end;
  TFixture = record
   Name: String;
   IsHead: Boolean;
   ChCount: Byte;
   Channel: array [] of TChannel;
   Preset: array [] of TPreset;
  end;
  TManufacturer = record
   Name: String;
   FixCount: Byte;
   Fixture: array [] of TFixture
  end;
var
  Form1: TForm1;
  Fixlib: array [] of TManufacturer;
Danke!
Bee
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#2
  Alt 4. Jan 2003, 21:54
Moin Bee,

wenn Du mal die [] weglässt, sollte das funktionieren.
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
Bee

Registriert seit: 27. Dez 2002
Ort: Giengen
8 Beiträge
 
Delphi 6 Personal
 
#3

Fehlanzeige

  Alt 4. Jan 2003, 22:12
Auch das löschen der eckigen Klammer ergibt eine Menge an Fehlermeldungen
[ erwartet bzw. ordinaltyp erwartet, irgendwo muss noch der Wurm sein.

Bee
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#4
  Alt 4. Jan 2003, 22:17
Innerhalb von Records musst Du Typen nutzen, um dyn. Arrays einzusetzen.
Delphi-Quellcode:

// aus
  TPreset = record
    Name: String;
    Choice: char;
    Value: array [] of Byte;
  end;

// wird
  TByteArray = array of Byte;
  TPreset = record
    Name: String;
    Choice: char;
    Value: TByteArray
  end;
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.481 Beiträge
 
Delphi 10.1 Berlin Professional
 
#5
  Alt 4. Jan 2003, 23:54
Zitat von sakura:
Innerhalb von Records musst Du Typen nutzen, um dyn. Arrays einzusetzen.
Wo hast du denn den Blödsinn her?


@Bee: Hast du auch wirklich alle [] entfernt? Auch die bei
Zitat:
Fixlib: array [] of TManufacturer;
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#6
  Alt 5. Jan 2003, 00:00
Moin Bee,

nachdem ich mal die [] entfernt hatte ging's bei mir.

In VB(A) werden dynamische Arrays wohl mit () deklariert in Pascal in dem man die Angabe der Dimensionen weglässt.
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
Bee

Registriert seit: 27. Dez 2002
Ort: Giengen
8 Beiträge
 
Delphi 6 Personal
 
#7
  Alt 5. Jan 2003, 14:40
Hallo Christian, Hallo jbg!

ich habe meinen Code folgendermaßen abgeändert und erhalte bei der Syntaxprüfung trozdem Fehlermeldungen, ich habe sie mal als Kommentar dazu geschrieben
Code:
type
  TForm1 = class(TForm)
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;
  TPreset = record
   Name : String;
   Choice : char;
   Value : array of Byte; { [ erwartet of gefunden.}
  end;                    { of erwartet end gefunden.}
  TChannel = record
   Name : String;
   Choice : char;
   Min : Byte;
   Max : Byte;
   Is16Bit : Boolean;
  end;
  TFixture = record
   Name : String;
   IsHead : Boolean;
   ChCount : Byte;
   Channel : array of TChannle;  { [ erwartet of gefunden, ] erwartet aber ; gefunden}
   Preset : array of TPreset;    { of erwartet aber Bezeichner Preset gefunden}
  end;                           { zu oben , oder : erwartet aber ; gefunden, Typ erwartet aber END gefunden}
  TManufacturer = record
   Name : String;
   FixCount : Byte;
   Fixture : array of TFixture;   { [ erwartet aber of gefunden, Ordinaltyp erforderlich}
  end;                            { of erwartet aber End gefunden}
var
  Form1: TForm1;
  Fixlib: array of TManufacturer; { [ erwartet aber of gefunden, Ordinaltyp erforderlich}
implementation                    { of erwartet aber IMPLEMENTATION gefunden}
irgendwas passt noch nicht so ganz.
Gruß Bee
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#8
  Alt 5. Jan 2003, 14:59
Moin Bee,

da es bei mir wieder einwandfrei funktioniert (nachdem ich auch TChannle TChannel gemacht habe), kommt mir ein unangenehmer Verdacht:

D3 verwendet entweder eine andere Syntax, oder aber kann nicht mit dynamischen Arrays umgehen (was mich allerdings wundern würde)

Ich tippe mal auf andere Syntax, oder Einstellung in den Optionen.
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
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#9
  Alt 5. Jan 2003, 15:27
Hi,

Zitat:
Channel : array of TChannle
Ist das hier nicht schon alles ? TChannleund Tchannel ?

Gruß
Hansa
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.481 Beiträge
 
Delphi 10.1 Berlin Professional
 
#10
  Alt 5. Jan 2003, 15:43
Zitat von Christian Seehase:
oder aber kann nicht mit dynamischen Arrays umgehen (was mich allerdings wundern würde)
Da ich in meinen D3 Codes keine dyn. Array verwendet habe, liegt der Verdacht, dass D3 keine unterstützt sehr nahe. In der OH von D3 konnte ich auch nichts über dynamische Arrays finden.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 16:57 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