Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Record kann nicht in benutzerdefinierte Datei geschrieben (https://www.delphipraxis.net/124523-record-kann-nicht-benutzerdefinierte-datei-geschrieben.html)

hackepjotre 20. Nov 2008 14:03


Record kann nicht in benutzerdefinierte Datei geschrieben
 
Hallo,

ich habe in meinem Programm ein Record vereinbart:

Delphi-Quellcode:
table = record
   AnzahlGruppe: integer;
   Gruppen:array[1..20] of gruppe;
   Anzahljahre:integer;
   JahresFarben:array[1..10,0..366,1..30]of tcolor;
   JahresSelect:array[1..10] of select;
   AnzahlSelect:array[1..10] of integer;
  end;
und will jetzt eine Datei mit dem "File of Table" definieren:

Delphi-Quellcode:
var datei:file of table;
jedoch kommt dann die fehlermeldung:

-> Typ "table" benötigt finalization - nicht im Dateitype erlaubt <-

Weiss jemand warum diese Meldung kommt und wo ich was umändern muss, damit ich eine Datei mit dem Typ "table" schreiben kann?

Schöne Grüße
Adrian Klinger

Bernhard Geyer 20. Nov 2008 14:08

Re: Record kann nicht in benutzerdefinierte Datei geschriebe
 
Von was für einen Typ ist gruppe und select?

hackepjotre 20. Nov 2008 14:09

Re: Record kann nicht in benutzerdefinierte Datei geschriebe
 
Delphi-Quellcode:
 gruppe= record
   personen:array[1..30] of string;
   name:string;
   anzahl:integer;
  end;
 
  select = record
   marcs:array[1..50] of tgridrect;
   scolor:array[1..50] of tcolor;
   sfontcolor:array[1..50] of tcolor;
   stext:array[1..50] of string;
   end;

jfheins 20. Nov 2008 14:11

Re: Record kann nicht in benutzerdefinierte Datei geschriebe
 
Du darfst keinen String verwenden.

Nimm einen Shortstring oder überdenke deine Dateistruktur (Klassen verwenden/XML-Streaming/etc.)

hackepjotre 20. Nov 2008 14:12

Re: Record kann nicht in benutzerdefinierte Datei geschriebe
 
danke schön :-D

nachti1505 20. Nov 2008 14:23

Re: Record kann nicht in benutzerdefinierte Datei geschriebe
 
Oder wenn du Strings verwendest, dann mit fixer Länge:

Delphi-Quellcode:
gruppe= record
   personen:array[1..30] of string[50];
   name:string;
   anzahl:integer;
  end;


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